public ActionResult Create(SampleSubmissionModel viewModel)
        {
            var strMessage = string.Empty;

            try
            {
                if (Session["lstSampleSubmissionDetails"] != null)
                {
                    if (ModelState.IsValid)
                    {
                        #region Current User

                        var userName = HttpContext.User.Identity.Name;
                        viewModel.IUser = userName;
                        viewModel.IDate = DateTime.Now;
                        viewModel.EDate = DateTime.Now;
                        #endregion

                        #region Releated Data
                        viewModel.SubmissionNo   = "Test";
                        viewModel.SubmissionText = "N/A";
                        #endregion

                        List <SampleSubmissionDetailModel> list = new List <SampleSubmissionDetailModel>();
                        if (Session["lstSampleSubmissionDetails"] != null)
                        {
                            list = (List <SampleSubmissionDetailModel>)Session["lstSampleSubmissionDetails"];
                        }

                        var entity = viewModel.ToEntity();

                        _SampleSubmissionService.BMSUnit.SampleSubmissionRepository.Add(entity);
                        _SampleSubmissionService.BMSUnit.SampleSubmissionRepository.SaveChanges();

                        Session["SampleSubmissionMasterId"] = entity.Id;

                        #region Save SampleSubmission Detail

                        if (list != null && list.Count > 0)
                        {
                            foreach (SampleSubmissionDetailModel detail in list)
                            {
                                detail.SubmissionId = Convert.ToInt64(entity.Id);
                                var detailEntity = detail.ToEntity();
                                _SampleSubmissionService.BMSUnit.SampleSubmissionDetRepository.Add(detailEntity);
                                _SampleSubmissionService.BMSUnit.SampleSubmissionDetRepository.SaveChanges();
                            }
                        }

                        Session["lstSampleSubmissionDetails"] = null;

                        #endregion

                        #region Save Submission Attached Document

                        foreach (SampleDocumentModel doc in viewModel.sampleDocumentModels)
                        {
                            if (doc.IsSelected == true)
                            {
                                SampleSubmissionDocumentModel attachDocs = new SampleSubmissionDocumentModel();
                                attachDocs.SubmissionId = Convert.ToInt64(entity.Id);
                                attachDocs.DocumentId   = doc.Id;
                                var detailDocumentEntity = attachDocs.ToEntity();
                                _SampleSubmissionService.BMSUnit.SampleSubmissionDocumentRepository.Add(detailDocumentEntity);
                                _SampleSubmissionService.BMSUnit.SampleSubmissionDocumentRepository.SaveChanges();
                            }
                        }

                        #endregion
                        return(Content(Boolean.TrueString));
                    }
                }
                strMessage = Common.GetModelStateErrorMessage(ModelState);
            }
            catch (Exception ex)
            {
                strMessage = CommonExceptionMessage.GetExceptionMessage(ex, CommonAction.Save);
            }

            return(Content(strMessage));
        }
        public ActionResult Edit(SampleSubmissionModel viewModel)
        {
            var strMessage = string.Empty;

            try
            {
                if (ModelState.IsValid)
                {
                    var model = _SampleSubmissionService.BMSUnit.SampleSubmissionRepository.GetByID(viewModel.Id);

                    #region Current User
                    viewModel.IUser = model.IUser;
                    viewModel.IDate = model.IDate;

                    var userName = HttpContext.User.Identity.Name;
                    viewModel.EUser = userName;
                    viewModel.EDate = DateTime.Now;

                    #endregion


                    List <SampleSubmissionDetailModel> list = new List <SampleSubmissionDetailModel>();
                    if (Session["lstSampleSubmissionDetails"] != null)
                    {
                        list = (List <SampleSubmissionDetailModel>)Session["lstSampleSubmissionDetails"];
                    }

                    #region Releated Data
                    viewModel.SubmissionNo   = "Test";
                    viewModel.SubmissionText = "N/A";
                    //viewModel.testVal1 = _SampleSubmissionService.Get_New_InvoiceId().FirstOrDefault().testVal1;
                    #endregion

                    var entity = viewModel.ToEntity();

                    // Get previous detail list
                    var lst = _SampleSubmissionService.BMSUnit.SampleSubmissionDetRepository.GetAll().Where(
                        q => q.SubmissionId == entity.Id);

                    foreach (var dt in lst)
                    {
                        _SampleSubmissionService.BMSUnit.SampleSubmissionDetRepository.Delete_64Bit(Convert.ToInt64(dt.Id));
                    }

                    #region Save SampleSubmission Detail

                    if (list != null && list.Count > 0)
                    {
                        foreach (SampleSubmissionDetailModel detail in list)
                        {
                            detail.SubmissionId = Convert.ToInt64(entity.Id);
                            var detailEntity = detail.ToEntity();
                            _SampleSubmissionService.BMSUnit.SampleSubmissionDetRepository.Add(detailEntity);
                            _SampleSubmissionService.BMSUnit.SampleSubmissionDetRepository.SaveChanges();
                        }
                    }
                    #endregion

                    #region Save Sample Submission Document

                    // Get and delete previous detail list
                    var prevAttachDocList = _SampleSubmissionService.BMSUnit.SampleSubmissionDocumentRepository.GetAll().Where(
                        q => q.SubmissionId == entity.Id);

                    foreach (var dt in prevAttachDocList)
                    {
                        _SampleSubmissionService.BMSUnit.SampleSubmissionDocumentRepository.Delete_64Bit(Convert.ToInt64(dt.Id));
                    }

                    foreach (SampleDocumentModel doc in viewModel.sampleDocumentModels)
                    {
                        if (doc.IsSelected == true)
                        {
                            SampleSubmissionDocumentModel attachDocs = new SampleSubmissionDocumentModel();
                            attachDocs.SubmissionId = Convert.ToInt64(entity.Id);
                            attachDocs.DocumentId   = doc.Id;
                            var detailDocumentEntity = attachDocs.ToEntity();
                            _SampleSubmissionService.BMSUnit.SampleSubmissionDocumentRepository.Add(detailDocumentEntity);
                            _SampleSubmissionService.BMSUnit.SampleSubmissionDocumentRepository.SaveChanges();
                        }
                    }
                    #endregion


                    _SampleSubmissionService.BMSUnit.SampleSubmissionRepository.Update(entity);
                    _SampleSubmissionService.BMSUnit.SampleSubmissionRepository.SaveChanges();

                    Session["lstSampleSubmissionDetails"] = null;


                    return(Content(Boolean.TrueString));
                }

                strMessage = Common.GetModelStateErrorMessage(ModelState);
            }
            catch (Exception ex)
            {
                strMessage = CommonExceptionMessage.GetExceptionMessage(ex, CommonAction.Update);
            }

            return(Content(strMessage));
        }
예제 #3
0
 public static tblSampleSubmissionDocument ToEntity(this SampleSubmissionDocumentModel model)
 {
     return(Mapper.Map <SampleSubmissionDocumentModel, tblSampleSubmissionDocument>(model));
 }