Exemple #1
0
        private void Save()
        {
            try
            {
                var line = (LineModel)cbLine.SelectedItem;
                var obj  = new VideoScheduleModel();
                obj.Id = oId;
                TimeSpan time = new TimeSpan(0, 0, 0);
                try
                {
                    DateTime datetime = DateTime.Parse(txtStart.EditValue.ToString());
                    time = datetime.TimeOfDay;
                }
                catch
                {
                    TimeSpan.TryParse(txtStart.EditValue.ToString(), out time);
                }
                obj.TimeStart = time;

                try
                {
                    DateTime datetime = DateTime.Parse(txtEnd.EditValue.ToString());
                    time = datetime.TimeOfDay;
                }
                catch
                {
                    TimeSpan.TryParse(txtEnd.EditValue.ToString(), out time);
                }
                obj.TimeEnd  = time;
                obj.IsActive = chbIsActive.Checked;
                obj.LineId   = line.MaChuyen;


                foreach (DataGridViewRow item in gridDetail.Rows)
                {
                    int index = 0, videoId = 0;
                    try
                    {
                        int.TryParse(item.Cells[1].Value.ToString(), out index);
                        int.TryParse(item.Cells[2].Value.ToString(), out videoId);

                        obj.Detail.Add(new P_PlayVideoSheduleDetail()
                        {
                            Id         = 0,
                            OrderIndex = index,
                            VideoId    = videoId
                        });
                    }
                    catch (Exception)
                    { }
                }

                var result = BLLPlayVideoSchedule.CreateOrUpdate(obj);

                if (result.IsSuccess)
                {
                    ResetForm();
                    GetDataToGridSchedule();
                }
                else
                {
                    MessageBox.Show(result.Messages[0].msg, result.Messages[0].Title);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi :" + ex.Message);
            }
        }
Exemple #2
0
        public static ResponseBase CreateOrUpdate(VideoScheduleModel objModel)
        {
            var result = new ResponseBase();
            var flag   = true;
            P_PlayVideoShedule       pObj;
            P_PlayVideoSheduleDetail pObjDetail;

            try
            {
                var db = new PMSEntities();
                if (objModel.Id == 0)
                {
                    pObj = new P_PlayVideoShedule();
                    Parse.CopyObject(objModel, ref pObj);
                    if (objModel.Detail.Count > 0)
                    {
                        pObj.P_PlayVideoSheduleDetail = new List <P_PlayVideoSheduleDetail>();
                        foreach (var item in objModel.Detail)
                        {
                            pObjDetail = new P_PlayVideoSheduleDetail();
                            Parse.CopyObject(item, ref pObjDetail);
                            pObjDetail.P_PlayVideoShedule = pObj;
                            pObj.P_PlayVideoSheduleDetail.Add(pObjDetail);
                        }
                    }
                    db.P_PlayVideoShedule.Add(pObj);
                }
                else
                {
                    pObj = db.P_PlayVideoShedule.FirstOrDefault(x => !x.IsDeleted && x.Id == objModel.Id);
                    if (pObj != null)
                    {
                        pObj.TimeStart = objModel.TimeStart;
                        pObj.TimeEnd   = objModel.TimeEnd;
                        pObj.IsActive  = objModel.IsActive;

                        var oldDetails = db.P_PlayVideoSheduleDetail.Where(x => !x.IsDeleted && !x.P_VideoLibrary.IsDeleted && x.VideoSheduleId == objModel.Id).ToList();
                        if (oldDetails.Count > 0 && objModel.Detail.Count > 0)
                        {
                            foreach (var item in oldDetails)
                            {
                                var obj = objModel.Detail.FirstOrDefault(x => x.VideoId == item.VideoId);
                                if (obj != null)
                                {
                                    item.OrderIndex = obj.OrderIndex;
                                    objModel.Detail.Remove(obj);
                                }
                                else
                                {
                                    item.IsDeleted = true;
                                }
                            }
                            if (objModel.Detail.Count > 0)
                            {
                                foreach (var item in objModel.Detail)
                                {
                                    pObjDetail = new P_PlayVideoSheduleDetail();
                                    Parse.CopyObject(item, ref pObjDetail);
                                    pObjDetail.VideoSheduleId = pObj.Id;
                                    db.P_PlayVideoSheduleDetail.Add(pObjDetail);
                                }
                            }
                        }
                        else if (oldDetails.Count > 0 && objModel.Detail.Count == 0)
                        {
                            foreach (var item in oldDetails)
                            {
                                item.IsDeleted = true;
                            }
                        }
                        else if (oldDetails.Count == 0 && objModel.Detail.Count > 0)
                        {
                            foreach (var item in objModel.Detail)
                            {
                                pObjDetail = new P_PlayVideoSheduleDetail();
                                Parse.CopyObject(item, ref pObjDetail);
                                pObjDetail.VideoSheduleId = pObj.Id;
                                db.P_PlayVideoSheduleDetail.Add(pObjDetail);
                            }
                        }
                    }
                    else
                    {
                        result.IsSuccess = false;
                        result.Messages.Add(new Message()
                        {
                            Title = "Thông Báo", msg = "Không tìm thấy thông tin tệp bạn đang thao tác."
                        });
                    }
                }
                if (flag)
                {
                    db.SaveChanges();
                    result.IsSuccess = true;
                    result.Messages.Add(new Message()
                    {
                        Title = "Thông Báo", msg = "Lưu thành công."
                    });
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }