コード例 #1
0
        public ActionResult Load(HttpPostedFileBase idUploadFile, ImportO2SModel model)
        {
            var path = string.Empty;
            try
            {
                ImportHelper pImportHelper = new ImportHelper();

                //If user has already customers, set IsUpdateMode to true by default
                if (CustomerProspectBL.GetCustomerByIdUserCreated(SessionManager.GetUserSession().idUser).Count() > 0)
                {
                    //model.IsUpdateMode = true;
                    model.ImportMode = (int)ImportO2SModel.ModeOfImport.Update;
                }

                //  if (ModelState.IsValid)
                {
                    // Verify that the user selected a file
                    if (idUploadFile != null && idUploadFile.ContentLength > 0)
                    {

                        // extract only the fielname
                        var fileName = string.Format("{0}-{1}", DateTime.Now.ToString("ddMMyyyy"), Path.GetFileName(idUploadFile.FileName));

                        path = Path.Combine(Server.MapPath("~/uploads"), fileName);

                        if (!Directory.Exists(Server.MapPath("~/uploads")))
                            Directory.CreateDirectory(Server.MapPath("~/uploads"));


                        // ImportHelper pImportHelper = new ImportHelper(); 
                        //pImportHelper.TestGetByName();
                        //  pImportHelper.Load(path);

                        //2014-07-29 : Check file extension
                        if (Path.GetExtension(path).Equals(".xlsx") || Path.GetExtension(path).Equals(".xls"))
                        {
                            idUploadFile.SaveAs(path);
                            // ViewData["FileFullPath"] = path;

                            model.SheetNames = pImportHelper.GetSheetNames(path);
                            if (model.SheetNames.Count == 1)
                            {
                                model.SelectedSheetName = model.SheetNames[0].Value;
                                model.ColumnNames = pImportHelper.GetUsableColumnNames(path, model.SelectedSheetName);
                            }
                            model.FullFilePath = path;


                            //prendre la liste des conseillers principaux
                            model.ListAdvisers = pImportHelper.GetListConseillerPrincicpal(model.FullFilePath, model.SelectedSheetName);

                            //prendre et charger la liste de tous ces **** de client
                            if (SessionManager.GetUserSession().CanViewAdvisersList())
                            {
                                bool filterAdvisersByUserFirm = (SessionManager.GetUserSession().IsAdministrativeAssistant()) ? true : false;
                                var lstAdvisers = Business.Configuration.FirmInstitutionAdviserBL.GetAdvisersByIdFirmParent(SessionManager.GetFirmInstitutionSession(), SessionManager.GetUserSession(), filterAdvisersByUserFirm, false)
                                                       .GroupBy(a => a.idUser)
                                                       .Select(ad => ad.First())
                                                       .OrderBy(a => a.User.UserName)
                                                       .ToList<FirmInstitutionAdviser>();


                                //List<FirmInstitutionAdviser> lstAdvisers = FirmInstitutionAdviserBL.GetAdvisers(SessionManager.GetFirmInstitutionSession(), false);
                                model.ListAdvisersFromDatabase = new List<SelectListItem>();

                                //add vide
                                model.ListAdvisersFromDatabase.Add(new SelectListItem() { Text = "", Value = "" });

                                foreach (var adviser in lstAdvisers)
                                {
                                    model.ListAdvisersFromDatabase.Add(new SelectListItem() { Text = string.Format("{0}, {1}, {2}", adviser.User.UserName, adviser.User.UserFirstName, adviser.User.UserEmail), Value = adviser.User.idUser.ToString() });
                                }
                            }
                            else
                            {
                                bool isEmpty = CustomerProspectBL.IsProspectForCGPEmpty(SessionManager.GetUserSession().idUser, model.IsCustomer);

                                model.InitilizationModeChecked = isEmpty;//utilisé ??
                                model.UpdateModeChecked = !isEmpty; //utilisé ??
                                if (isEmpty)
                                    model.ImportMode = (int)ImportO2SModel.ModeOfImport.Initialisation;
                                else
                                    model.ImportMode = (int)ImportO2SModel.ModeOfImport.Update;
                            }
                        }
                        else
                        {
                            //2014-07-29 : Error File not supported
                            ViewBag.Error = LanguageData.GetContent("seul_excel_autorise");
                        }

                        return View("ImportO2Harvest", model);
                    }
                    else
                    {
                        ViewBag.Error = LanguageData.GetContent("verifier_fichier_a_uploader");
                        return View("ImportO2Harvest", model);
                    }


                }
                // ViewBag.Error = "Veuillez vérifier les champs obligatoires.";

            }
            catch (Exception ex)
            {
                Log.AppendException(ex); ;
                ViewBag.Error = string.Format("{0} : {1}", LanguageData.GetContent("erreur_import"), ex.Message);
            }

            return View("ImportO2Harvest");
        }
コード例 #2
0
        public ActionResult HandleSheetSelection(ImportO2SModel model)
        {
            try
            {
                int mode = Convert.ToInt32(Request["ImportMode"]);
                model.ImportMode = mode;
                ImportHelper helper = new ImportHelper();
                DataTable dt = helper.ReadClientDataTableXLS(model.FullFilePath, model.SelectedSheetName, 20);
                model.Datashot = dt;

                model.SheetNames = helper.GetSheetNames(model.FullFilePath);
                return View("ImportO2Harvest", model);
            }
            catch (Exception ex)
            {
                Log.AppendException(ex);
                ViewBag.Error = LanguageData.GetContent("erreur_selection_feuille");
            }
            return View("ImportO2Harvest");
        }