CSL.DataGridViewHandler.movie_dv_CurrentCellDirtyStateChanged C# (CSharp) Метод

movie_dv_CurrentCellDirtyStateChanged() публичный Метод

public movie_dv_CurrentCellDirtyStateChanged ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
Результат void
        void movie_dv_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (dv.IsCurrentCellDirty)
            {
                if (dv.CurrentCell.OwningColumn.Name.Equals("MovieSaveStructure"))
                    dv.CommitEdit(DataGridViewDataErrorContexts.Commit);
                else if (!dv.CurrentCell.ReadOnly)
                {
                    dv.CommitEdit(DataGridViewDataErrorContexts.Commit);

                    string[] information = new string[5];
                    DataGridViewCellCollection dc = dv.CurrentCell.OwningRow.Cells;
                    foreach (DataGridViewCell c in dc)
                    {
                        switch (c.OwningColumn.Name)
                        {
                            /* information
                             * 0: Movie Title
                             * 1: Year
                             * 2: Source Media
                             * 3: Codec Format
                             * 4: File Format
                             * */
                            case "MovieTitle":
                                information[0] = (c.Value.Equals(DBNull.Value)) ? "" : (string)c.Value;
                                break;
                            case "MovieYear":
                                information[1] = (c.Value.Equals(DBNull.Value)) ? "" : (string)c.Value;
                                break;
                            case "SourceMedia":
                                information[2] = (c.Value.Equals(DBNull.Value)) ? "" : (string)c.Value;
                                break;
                            case "CodecFormat":
                                information[3] = (c.Value.Equals(DBNull.Value)) ? "" : (string)c.Value;
                                break;
                            case "FileFormat":
                                information[4] = (c.Value.Equals(DBNull.Value)) ? "" : (string)c.Value;
                                break;
                            default:
                                break;
                        }
                    }

                    string newSavePath = TorrentBuilder.RebuildMovieCustomPath(information);
                    dv["MovieSaveStructure", dv.CurrentCell.OwningRow.Index].Value = newSavePath;
                }
            }
        }