Ejemplo n.º 1
0
        public async Task <DocumentDetailsModel> CreateFirmAsync(CreateDocumentModel model)
        {
            var doc = new DocumentEntityModel()
            {
                Receiver    = model.Receiver,
                Description = model.Description,
                Amount      = model.Amount,
                Firm        = await this._data.Firms.FirstOrDefaultAsync(c => c.Id == model.FirmId)
            };


            await this._data.Documents.AddAsync(doc);

            await this._data.SaveChangesAsync();

            var editedDoc = new DocumentDetailsModel()
            {
                DocumentId  = doc.Id,
                Receiver    = doc.Receiver,
                Amount      = doc.Amount,
                Description = doc.Description,
                FirmId      = doc.FirmId,
                FirmName    = doc.Firm.Name
            };

            return(editedDoc);
        }
Ejemplo n.º 2
0
        public IActionResult Details(int id)
        {
            var document = _documents.GetDocumentById(id);

            var model = new DocumentDetailsModel
            {
                Id                    = document.Id,
                Year                  = document.Contract.Year,
                ContractId            = document.Contract.Id,
                ContractNumber        = document.Contract.ContractNumber,
                ClientId              = document.Client.Id,
                ClientName            = document.Client.Name,
                ExploitationPlace     = document.Client.ExploitationPlace,
                DeviceId              = document.Device.Id,
                DeviceName            = document.Device.Name,
                DeviceType            = document.Device.Type,
                SerialNumber          = document.Device.SerialNumber,
                RegistrationNumber    = document.Device.RegistrationNumber,
                VerificationMethodic  = document.Device.VerificationMethodic?.Name,
                DocumentNumber        = document.DocumentNumber,
                DocumentType          = (document is CertificateDTO) ? "Свидетельство о поверке" : "Извещение о непригодности",
                CalibrationDate       = (document as CertificateDTO)?.CalibrationDate.ToString("dd-MM-yyyy"),
                CalibrationExpireDate = (document as CertificateDTO)?.CalibrationExpireDate.ToString("dd-MM-yyyy"),
                DocumentDate          = (document as FailureNotificationDTO)?.DocumentDate.ToString("dd-MM-yyyy"),
                CreatedOn             = document.CreatedOn.ToString("dd-MM-yyyy HH:mm"),
                UpdatedOn             = document.UpdatedOn?.ToString("dd-MM-yyyy HH:mm") ?? document.CreatedOn.ToString("dd-MM-yyyy HH:mm"),
                CreatedBy             = document.CreatedBy,
                UpdatedBy             = document.UpdatedBy ?? document.CreatedBy,
                FilePath              = Path.Combine("/documentsFolder", document.DocumentFile.Path)
            };

            return(PartialView("_DocumentDetails", model));
        }
Ejemplo n.º 3
0
        public ActionResult Details(int id)
        {
            var document = GetDocuments().SingleOrDefault(d => d.Id == id);
            var articles = GetArticles().Where(a => a.DocumentId == id).ToList();

            if (document == null)
            {
                return(View("ErrorPage", id));
            }

            var viewModel = new DocumentDetailsModel()
            {
                Document = document, ArticlesList = articles
            };

            return(View("Details", viewModel));
        }
Ejemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Create(int nUserInfoID = 0)
        {
            LoginUserDetails     objLoginUserDetails     = (LoginUserDetails)Common.Common.GetSessionValue(ConstEnum.SessionValue.UserDetails);
            EmployeeModel        objEmployeeModel        = new EmployeeModel();
            UserInfoModel        objUserInfoModel        = new UserInfoModel();
            DMATDetailsModel     objDMATDetailsModel     = new DMATDetailsModel();
            DocumentDetailsModel objDocumentDetailsModel = new DocumentDetailsModel();
            UserInfoSL           objUserInfoSL           = new UserInfoSL();

            try
            {
                if (nUserInfoID != 0)
                {
                    UserInfoDTO objUserInfoDTO = new UserInfoDTO();
                    objUserInfoDTO = objUserInfoSL.GetUserDetails(objLoginUserDetails.CompanyDBConnectionString, nUserInfoID);
                    string sPwdMask = "●●●●●●●●●●●●●";
                    objUserInfoDTO.Password = sPwdMask.PadRight(15, '●');
                    Common.Common.CopyObjectPropertyByName(objUserInfoDTO, objUserInfoModel);
                    objDMATDetailsModel.UserInfoID = nUserInfoID;
                }

                objEmployeeModel.userInfoModel        = objUserInfoModel;
                objEmployeeModel.dmatDetailsModel     = objDMATDetailsModel;
                objEmployeeModel.documentDetailsModel = objDocumentDetailsModel;
                PopulateCombo();
                return(View("Create", objEmployeeModel));
            }
            catch (Exception exp)
            {
                string sErrMessage = Common.Common.getResource(exp.InnerException.Data[0].ToString());
                ModelState.AddModelError("Error", sErrMessage);
                return(View("Create", objEmployeeModel));
            }
            finally
            {
                objLoginUserDetails     = null;
                objEmployeeModel        = null;
                objUserInfoModel        = null;
                objDMATDetailsModel     = null;
                objDocumentDetailsModel = null;
                objUserInfoSL           = null;
            }
        }
Ejemplo n.º 5
0
        public async Task <DocumentDetailsModel> EditDocumentAsync(DocumentDetailsModel detailsModel, int docId)
        {
            var doc = await this._data.Documents.FirstOrDefaultAsync(c => c.Id == docId);

            doc.Receiver    = detailsModel.Receiver;
            doc.Amount      = detailsModel.Amount;
            doc.Description = detailsModel.Description;
            doc.Firm        = await this._data.Firms.FirstOrDefaultAsync(c => c.Id == detailsModel.FirmId);


            var editedDoc = new DocumentDetailsModel()
            {
                DocumentId  = doc.Id,
                Receiver    = doc.Receiver,
                Amount      = doc.Amount,
                Description = doc.Description,
                FirmId      = doc.FirmId,
                FirmName    = doc.Firm.Name
            };

            await this._data.SaveChangesAsync();

            return(editedDoc);
        }
Ejemplo n.º 6
0
        public ActionResult ExportInvoice(int id) //račun PDF
        {
            var document = GetDocuments().SingleOrDefault(d => d.Id == id);
            var articles = GetArticles().Where(a => a.DocumentId == id).ToList();

            if (document == null)
            {
                return(View("ErrorPage", id));
            }

            var viewModel = new DocumentDetailsModel()
            {
                Document = document, ArticlesList = articles
            };

            return(new ViewAsPdf(viewModel)
            {
                FileName = "racun_" + id + "-" + document.Client.Name.Replace(" ", "_"),
                PageSize = Rotativa.AspNetCore.Options.Size.A4,
                PageMargins = new Rotativa.AspNetCore.Options.Margins(0, 0, 0, 0),
                CustomSwitches = "--disable-smart-shrinking"
            });
            //return View("ExportOffer", viewModel);
        }
 public async Task <DocumentDetailsModel> Edit(DocumentDetailsModel model, int docId)
 => await this._documentService.EditDocumentAsync(model, docId);
        public ActionResult Create(int acid, int nUserInfoID = 0, bool isPPD_Details_Saved = false, bool isNonEmployee = true)
        {
            bool show_create_role_link       = true;
            bool show_not_login_user_details = true;

            UserInfoDTO objUserInfoDTO = null;

            bool show_confirm_personal_details_btn = false;
            bool showMsgConfirmPersonalDetails     = false;

            int user_action_ViewDetails = 0;

            ViewBag.UserDetailsSaved = false;

            LoginUserDetails      objLoginUserDetails      = null;
            EmployeeModel         objEmployeeModel         = new EmployeeModel();
            UserInfoModel         objUserInfoModel         = new UserInfoModel();
            DMATDetailsModel      objDMATDetailsModel      = new DMATDetailsModel();
            DocumentDetailsModel  objDocumentDetailsModel  = new DocumentDetailsModel();
            ImplementedCompanyDTO objImplementedCompanyDTO = new ImplementedCompanyDTO();

            try
            {
                objLoginUserDetails = (LoginUserDetails)Common.Common.GetSessionValue(ConstEnum.SessionValue.UserDetails);
                using (CompaniesSL objCompaniesSL = new CompaniesSL())
                {
                    objImplementedCompanyDTO = objCompaniesSL.GetDetails(objLoginUserDetails.CompanyDBConnectionString, 0, 1);
                }

                objUserInfoDTO = new UserInfoDTO();

                if (nUserInfoID != 0)
                {
                    using (UserInfoSL objUserInfoSL = new UserInfoSL())
                    {
                        objUserInfoDTO = objUserInfoSL.GetUserDetails(objLoginUserDetails.CompanyDBConnectionString, nUserInfoID);
                    }
                    Common.Common.CopyObjectPropertyByName(objUserInfoDTO, objUserInfoModel);

                    objDMATDetailsModel.UserInfoID          = nUserInfoID;
                    objDocumentDetailsModel.MapToTypeCodeId = ConstEnum.Code.UserDocument;
                    objDocumentDetailsModel.MapToId         = nUserInfoID;
                    objDocumentDetailsModel.PurposeCodeId   = null;
                }
                else
                {
                    ViewBag.NewNonEmpRegistration = true;
                }

                ViewBag.EmpPANNumber = objUserInfoModel.PAN;

                PopulateCombo(objImplementedCompanyDTO.CompanyId);

                objUserInfoModel.UPSIAccessOfCompanyID   = objImplementedCompanyDTO.CompanyId;
                objUserInfoModel.UPSIAccessOfCompanyName = objImplementedCompanyDTO.CompanyName;

                objEmployeeModel.userInfoModel        = objUserInfoModel;
                objEmployeeModel.dmatDetailsModel     = objDMATDetailsModel;
                objEmployeeModel.documentDetailsModel = objDocumentDetailsModel;

                objUserInfoModel.DefaultRole  = FillComboValues(ConstEnum.ComboType.RoleList, ConstEnum.Code.NonEmployeeType.ToString(), null, null, null, null, true);
                objUserInfoModel.AssignedRole = FillComboValues(ConstEnum.ComboType.RoleList, ConstEnum.Code.NonEmployeeType.ToString(), nUserInfoID.ToString(), null, null, null, false);

                //set flag to show applicability define or not msg
                if (nUserInfoID != 0 && nUserInfoID != objLoginUserDetails.LoggedInUserID)
                {
                    //check if user has policy document and trading policy appliable by checking count and set flag to show warning msg if applicabiliyt not define
                    using (ApplicabilitySL objApplicabilitySL = new ApplicabilitySL())
                    {
                        int pcount = objApplicabilitySL.UserApplicabilityCount(objLoginUserDetails.CompanyDBConnectionString, nUserInfoID, ConstEnum.Code.PolicyDocument);
                        int tcount = objApplicabilitySL.UserApplicabilityCount(objLoginUserDetails.CompanyDBConnectionString, nUserInfoID, ConstEnum.Code.TradingPolicy);

                        bool showMsgPolicyDocNotApplicable     = (pcount <= 0) ? true : false;
                        bool showMsgTradingPolicyNotApplicable = (tcount <= 0) ? true : false;

                        ViewBag.IsShowMsgPDocNotApp = showMsgPolicyDocNotApplicable;
                        ViewBag.IsShowMsgTPocNotApp = showMsgTradingPolicyNotApplicable;
                    }
                }
                else
                {
                    ViewBag.IsShowMsgPDocNotApp = false;
                    ViewBag.IsShowMsgTPocNotApp = false;
                }

                //check if details being shown for login user then set flag to do not show create role link
                if (nUserInfoID != 0 && nUserInfoID == objLoginUserDetails.LoggedInUserID)
                {
                    show_create_role_link       = false;
                    show_not_login_user_details = false;

                    //check if login user has already confirm personal details - if user has confirm personal details then do not show confirm button
                    if (objUserInfoDTO.IsRequiredConfirmPersonalDetails != null && (bool)objUserInfoDTO.IsRequiredConfirmPersonalDetails)
                    {
                        show_confirm_personal_details_btn = true;
                        showMsgConfirmPersonalDetails     = true;
                    }
                }
                ViewBag.show_create_role_link       = show_create_role_link;
                ViewBag.show_not_login_user_details = show_not_login_user_details;

                ViewBag.user_action = acid;

                ViewBag.IsShowMsgConfirmDetails           = showMsgConfirmPersonalDetails;
                ViewBag.show_confirm_personal_details_btn = show_confirm_personal_details_btn;

                switch (objLoginUserDetails.UserTypeCodeId)
                {
                case ConstEnum.Code.Admin:
                case ConstEnum.Code.COUserType:
                    user_action_ViewDetails = ConstEnum.UserActions.INSIDER_INSIDERUSER_VIEW;
                    break;

                case ConstEnum.Code.NonEmployeeType:
                    user_action_ViewDetails = ConstEnum.UserActions.VIEW_DETAILS_PERMISSION_FOR_NON_EMPLOYEE_USER;
                    break;
                }

                ViewBag.user_action_ViewDetails = user_action_ViewDetails;

                Session["UserInfoId"] = objUserInfoModel.UserInfoId;
                Session["Confirm_PersonalDetails_Required"]  = objUserInfoModel.IsRequiredConfirmPersonalDetails;
                Session["show_confirm_personal_details_btn"] = ViewBag.show_confirm_personal_details_btn;
                Session["NonEmployeeType"] = isNonEmployee;
                Session["EmployeeType"]    = false;
                WorkandEducationDetailsConfigurationDTO objWorkandEducationDetailsConfigurationDTO = new WorkandEducationDetailsConfigurationDTO();
                using (var objCompaniesSL = new CompaniesSL())
                {
                    objWorkandEducationDetailsConfigurationDTO = objCompaniesSL.GetWorkandeducationDetailsConfiguration(objLoginUserDetails.CompanyDBConnectionString, 1);
                }
                ViewBag.WorkandEducationDetailsConfiguration = objWorkandEducationDetailsConfigurationDTO.WorkandEducationDetailsConfigurationId;
                Session["WorkandEducationConfiguration"]     = ViewBag.WorkandEducationDetailsConfiguration;
                if (isPPD_Details_Saved)
                {
                    ViewBag.UserDetailsSaved = true;
                    return(View("NonEmployeeDmatDetails", objEmployeeModel));
                }
                else
                {
                    return(View(objEmployeeModel));
                }
            }
            catch (Exception exp)
            {
            }
            finally
            {
                objLoginUserDetails      = null;
                objUserInfoDTO           = null;
                objEmployeeModel         = null;
                objUserInfoModel         = null;
                objDMATDetailsModel      = null;
                objDocumentDetailsModel  = null;
                objImplementedCompanyDTO = null;
            }
            return(View("Create"));
        }
Ejemplo n.º 9
0
        public JsonResult SaveDocumentDetails(int nMapToTypeCodeId, int nMapToId, string sDocName, string sDocDescription, int acid, string GUID, int nDocumentDetailsID = 0)
        {
            bool statusFlag      = false;
            var  ErrorDictionary = new Dictionary <string, string>();

            LoginUserDetails            objLoginUserDetails     = null;
            DocumentDetailsDTO          objDocumentDetailsDTO   = null;
            List <DocumentDetailsModel> lstDocumentDetailsModel = null;
            DocumentDetailsModel        objDocumentDetailsModel = null;

            try
            {
                if (GUID == null || GUID == "")
                {
                    string sErrMessage = "Please Upload Document";
                    ErrorDictionary.Add("Document", sErrMessage);
                }
                else
                {
                    objLoginUserDetails   = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails);
                    objDocumentDetailsDTO = new DocumentDetailsDTO();

                    lstDocumentDetailsModel = new List <DocumentDetailsModel>();

                    objDocumentDetailsModel = new DocumentDetailsModel();

                    objDocumentDetailsModel.MapToTypeCodeId = nMapToTypeCodeId;
                    objDocumentDetailsModel.MapToId         = nMapToId;
                    objDocumentDetailsModel.DocumentId      = nDocumentDetailsID;
                    objDocumentDetailsModel.GUID            = GUID;
                    objDocumentDetailsModel.DocumentName    = sDocName;
                    objDocumentDetailsModel.Description     = sDocDescription;
                    lstDocumentDetailsModel.Add(objDocumentDetailsModel);

                    using (DocumentDetailsSL objDocumentDetailsSL = new DocumentDetailsSL())
                    {
                        lstDocumentDetailsModel = objDocumentDetailsSL.SaveDocumentDetails(objLoginUserDetails.CompanyDBConnectionString, lstDocumentDetailsModel, nMapToTypeCodeId, nMapToId, objLoginUserDetails.LoggedInUserID);

                        if (lstDocumentDetailsModel.Count > 0)
                        {
                            statusFlag = true;
                        }
                    }
                }
                return(Json(new
                {
                    status = statusFlag,
                    Message = ErrorDictionary
                }, "text/html"));
            }
            catch (Exception exp)
            {
                throw exp;
            }
            finally
            {
                objLoginUserDetails     = null;
                objDocumentDetailsDTO   = null;
                lstDocumentDetailsModel = null;
                objDocumentDetailsModel = null;
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// This method is used for the insert/Update SaveDocumentDetails details.
        /// </summary>
        /// <param name="i_sConnectionString">Connection string</param>
        /// <param name="i_objDocumentDetailsDTO">DocumentDetails Object</param>
        /// <param name="nLoggedInUserId">Logged In User</param>
        /// <returns>Returns boolean value based on the result</returns>
        public List <DocumentDetailsModel> SaveDocumentDetails(string i_sConnectionString, List <DocumentDetailsModel> i_lstDocumentDetailsModel, int i_nMapToCodeTypeId, int i_nMaptoID, int i_nLoggedInUserId, string companyName = null)
        {
            List <DocumentDetailsModel> retListDocumentDetailsModel = new List <DocumentDetailsModel>();
            DocumentDetailsDTO          objDocumentDetailsDTO       = new DocumentDetailsDTO();
            string           directory     = ConfigurationManager.AppSettings["Document"];
            string           rootDirectory = directory;
            DirectoryInfo    di;
            LoginUserDetails objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails);

            try
            {
                //DocumentDetailsDAL objDocumentDetailsDAL = new DocumentDetailsDAL();

                //check file is uploaded by checking document model
                if (i_lstDocumentDetailsModel != null && i_lstDocumentDetailsModel.Count > 0)
                {
                    foreach (DocumentDetailsModel objDocumentDetailsModel in i_lstDocumentDetailsModel)
                    {
                        //check file is uploaded for same code type as in model
                        if (objDocumentDetailsModel.MapToTypeCodeId == i_nMapToCodeTypeId)
                        {
                            //check GUID - guid null means file does not exists on system - either in temp folder or actual folder
                            if (objDocumentDetailsModel.GUID == null)
                            {
                                //check if actual file is uploaded by checking model document property
                                if (objDocumentDetailsModel.Document != null)
                                {
                                    //get file property for uploaded file and set model property

                                    string extension   = System.IO.Path.GetExtension(objDocumentDetailsModel.Document.FileName);
                                    string newFileName = Guid.NewGuid() + extension;

                                    objDocumentDetailsModel.DocumentName = objDocumentDetailsModel.Document.FileName;
                                    objDocumentDetailsModel.GUID         = newFileName;

                                    objDocumentDetailsModel.DocumentPath = Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString(), newFileName);
                                    objDocumentDetailsModel.FileSize     = objDocumentDetailsModel.Document.ContentLength;
                                    objDocumentDetailsModel.FileType     = extension;

                                    //check directory folder and if not exists then create folder to upload file
                                    if (!Directory.Exists(Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString())))
                                    {
                                        di = Directory.CreateDirectory(Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString()));
                                    }

                                    //save existing document with new document uploaded
                                    objDocumentDetailsModel.Document.SaveAs(objDocumentDetailsModel.DocumentPath);

                                    Common.Common.CopyObjectPropertyByName(objDocumentDetailsModel, objDocumentDetailsDTO);

                                    //save record into DB for file upload
                                    using (var objDocumentDetailsDAL = new DocumentDetailsDAL())
                                    {
                                        objDocumentDetailsDTO = objDocumentDetailsDAL.SaveDocumentDetails(i_sConnectionString, objDocumentDetailsDTO, objLoginUserDetails.LoggedInUserID);
                                    }

                                    Common.Common.CopyObjectPropertyByName(objDocumentDetailsDTO, objDocumentDetailsModel);

                                    //add save/updated record into list
                                    retListDocumentDetailsModel.Add(objDocumentDetailsModel);
                                }
                            }
                            else
                            {
                                // file is exists on system as GUID is exists

                                //check document id for existing records or new records
                                if (objDocumentDetailsModel.DocumentId != 0)
                                {
                                    //check if actual file is uploaded by checking model document property
                                    if (objDocumentDetailsModel.Document != null)
                                    {
                                        //get file property for uploaded file and set model property

                                        string extension = Path.GetExtension(objDocumentDetailsModel.Document.FileName);

                                        //set document path property because it is remove from UI
                                        objDocumentDetailsModel.DocumentPath = Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString(), objDocumentDetailsModel.GUID);

                                        //rename existing file - break file and extention, add "_old" to file,

                                        String file_name_without_ext = Path.GetFileNameWithoutExtension(objDocumentDetailsModel.DocumentPath);
                                        String old_file_extention    = Path.GetExtension(objDocumentDetailsModel.DocumentPath);

                                        string src_file_folder   = Path.GetDirectoryName(objDocumentDetailsModel.DocumentPath);
                                        String des_old_file_path = Path.Combine(src_file_folder, file_name_without_ext + "_old" + old_file_extention);

                                        File.Move(objDocumentDetailsModel.DocumentPath, des_old_file_path);

                                        //replace new file extenstion for existing guid
                                        objDocumentDetailsModel.GUID = file_name_without_ext + extension;

                                        objDocumentDetailsModel.DocumentName = (objDocumentDetailsModel.MapToTypeCodeId == ConstEnum.Code.UserDocument) ? objDocumentDetailsModel.DocumentName: objDocumentDetailsModel.Document.FileName;
                                        objDocumentDetailsModel.DocumentPath = Path.Combine(directory, objDocumentDetailsModel.MapToTypeCodeId.ToString(), objDocumentDetailsModel.MapToId.ToString(), objDocumentDetailsModel.GUID);
                                        objDocumentDetailsModel.FileSize     = objDocumentDetailsModel.Document.ContentLength;
                                        objDocumentDetailsModel.FileType     = extension;

                                        //save existing document with new document uploaded
                                        objDocumentDetailsModel.Document.SaveAs(objDocumentDetailsModel.DocumentPath);//copy new file with same guid and new extension

                                        //delete old file
                                        FileInfo del_file = new FileInfo(des_old_file_path);
                                        del_file.Delete();

                                        Common.Common.CopyObjectPropertyByName(objDocumentDetailsModel, objDocumentDetailsDTO);
                                    }
                                    else
                                    {
                                        using (var objDocumentDetailsDAL = new DocumentDetailsDAL())
                                        {
                                            objDocumentDetailsDTO = objDocumentDetailsDAL.GetDocumentDetails(i_sConnectionString, Convert.ToInt32(objDocumentDetailsModel.DocumentId));
                                        }
                                        objDocumentDetailsDTO.DocumentName = objDocumentDetailsModel.DocumentName;
                                        objDocumentDetailsDTO.Description  = objDocumentDetailsModel.Description;
                                    }

                                    //update record into DB for file upload
                                    using (var objDocumentDetailsDAL = new DocumentDetailsDAL())
                                    {
                                        objDocumentDetailsDTO = objDocumentDetailsDAL.SaveDocumentDetails(i_sConnectionString, objDocumentDetailsDTO, objLoginUserDetails.LoggedInUserID);
                                    }

                                    Common.Common.CopyObjectPropertyByName(objDocumentDetailsDTO, objDocumentDetailsModel);

                                    //add save/updated record into list
                                    retListDocumentDetailsModel.Add(objDocumentDetailsModel);
                                }
                                else if (objLoginUserDetails.DocumentDetails.Count > 0)//check user session for document uploaded when MaptoID not exists
                                {
                                    //i_nMaptoID is not exists so save document in temp folder

                                    Dictionary <string, DocumentDetailsDTO> objDetailsDTO = new Dictionary <string, DocumentDetailsDTO>();

                                    //get document details from session
                                    foreach (KeyValuePair <string, DocumentDetailsDTO> entry in objLoginUserDetails.DocumentDetails)
                                    {
                                        objDetailsDTO.Add(entry.Key, (DocumentDetailsDTO)entry.Value);
                                    }

                                    //process details to save
                                    foreach (KeyValuePair <string, DocumentDetailsDTO> dicDocumentDetailsDTO in objDetailsDTO)
                                    {
                                        //check existing session document to update record - compare MapToTypeCodeId and GUID with already saved session records
                                        if (dicDocumentDetailsDTO.Value.MapToTypeCodeId == objDocumentDetailsModel.MapToTypeCodeId && dicDocumentDetailsDTO.Value.GUID == objDocumentDetailsModel.GUID)
                                        {
                                            dicDocumentDetailsDTO.Value.MapToId = i_nMaptoID;
                                            objDocumentDetailsDTO = dicDocumentDetailsDTO.Value;

                                            string sSourceFile = Path.Combine(directory, "temp", objDocumentDetailsDTO.GUID);

                                            string sTargetFile = string.Empty;
                                            if (companyName != null)
                                            {
                                                sTargetFile = Path.Combine(directory, companyName, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString(), objDocumentDetailsDTO.GUID);
                                            }
                                            else
                                            {
                                                sTargetFile = Path.Combine(directory, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString(), objDocumentDetailsDTO.GUID);
                                            }

                                            objDocumentDetailsDTO.DocumentPath = sTargetFile;

                                            //check temp folder exists
                                            if (Directory.Exists(Path.Combine(directory, "temp")))
                                            {
                                                if (companyName != null)
                                                {
                                                    if (!Directory.Exists(Path.Combine(directory, companyName, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString())))
                                                    {
                                                        di = Directory.CreateDirectory(Path.Combine(directory, companyName, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString()));
                                                    }
                                                }
                                                else
                                                {
                                                    //check directory folder and if not exists then create folder to upload file
                                                    if (!Directory.Exists(Path.Combine(directory, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString())))
                                                    {
                                                        di = Directory.CreateDirectory(Path.Combine(directory, objDocumentDetailsDTO.MapToTypeCodeId.ToString(), objDocumentDetailsDTO.MapToId.ToString()));
                                                    }
                                                }
                                                //copy file from temp folder to target folder
                                                System.IO.File.Copy(sSourceFile, sTargetFile, true);

                                                //update record into DB for file upload
                                                using (var objDocumentDetailsDAL = new DocumentDetailsDAL())
                                                {
                                                    objDocumentDetailsDTO = objDocumentDetailsDAL.SaveDocumentDetails(i_sConnectionString, objDocumentDetailsDTO, objLoginUserDetails.LoggedInUserID);
                                                }

                                                //check if document details save in DB or not - if not save in DB then delete uploaded file
                                                if (objDocumentDetailsDTO == null)
                                                {
                                                    //delete uploaded file and throw exception

                                                    File.Delete(sTargetFile);
                                                    Exception ex = new Exception("Document Details not saved");
                                                    throw ex;
                                                }
                                                else
                                                {
                                                    DocumentDetailsModel objTempDocumentDetailsModel = new DocumentDetailsModel();

                                                    Common.Common.CopyObjectPropertyByName(objDocumentDetailsDTO, objTempDocumentDetailsModel);

                                                    //add save/updated record into list
                                                    retListDocumentDetailsModel.Add(objTempDocumentDetailsModel);

                                                    //delete temp folder file
                                                    File.Delete(sSourceFile);

                                                    //delete/remove from session
                                                    objLoginUserDetails.DocumentDetails.Remove(dicDocumentDetailsDTO.Value.GUID);

                                                    //reset session after remove/delete from session
                                                    Common.Common.SetSessionValue(ConstEnum.SessionValue.UserDetails, objLoginUserDetails);

                                                    //when all document are removed from session break loop
                                                    if (objLoginUserDetails.DocumentDetails.Count == 0)
                                                    {
                                                        break;
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                Exception ex = new Exception("Source File does not exist");
                                                throw ex;
                                            }
                                        }
                                    }

                                    //save into user session
                                    Common.Common.SetSessionValue(ConstEnum.SessionValue.UserDetails, objLoginUserDetails);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exp)
            {
                throw exp;
            }
            return(retListDocumentDetailsModel);
        }