コード例 #1
0
        public MarketPlace.Models.Survey.SurveyViewModel SurveyUpsert
            (string SurveyUpsert)
        {
            MarketPlace.Models.Survey.SurveyViewModel oReturn = null;

            if (SurveyUpsert == "true")
            {
                ProveedoresOnLine.SurveyModule.Models.SurveyModel SurveyToUpsert = GetSurveyUpsertRequest();

                SurveyToUpsert = ProveedoresOnLine.SurveyModule.Controller.SurveyModule.SurveyUpsert(SurveyToUpsert);

                oReturn = new Models.Survey.SurveyViewModel(SurveyToUpsert);
            }

            return(oReturn);
        }
コード例 #2
0
        public bool SurveyRemoveFile
            (string SurveyRemoveFile,
            string SurveyPublicId,
            int SurveyInfoId)
        {
            bool oReturn = false;

            if (SurveyRemoveFile == "true" &&
                !string.IsNullOrEmpty(SurveyPublicId))
            {
                //get project basic info
                ProveedoresOnLine.SurveyModule.Models.SurveyModel oSurvey = ProveedoresOnLine.SurveyModule.Controller.SurveyModule.SurveyGetById
                                                                                (SurveyPublicId);

                //create object to upsert
                ProveedoresOnLine.SurveyModule.Models.SurveyModel oSurveyToUpsert = new ProveedoresOnLine.SurveyModule.Models.SurveyModel()
                {
                    SurveyPublicId  = SurveyPublicId,
                    RelatedProvider = new ProveedoresOnLine.CompanyProvider.Models.Provider.ProviderModel()
                    {
                        RelatedCompany = new ProveedoresOnLine.Company.Models.Company.CompanyModel()
                        {
                            CompanyPublicId = oSurvey.RelatedProvider.RelatedCompany.CompanyPublicId,
                        }
                    },
                    RelatedSurveyConfig = new ProveedoresOnLine.SurveyModule.Models.SurveyConfigModel(),
                    SurveyInfo          = oSurvey.SurveyInfo.
                                          Where(pjinf => pjinf.ItemInfoId == SurveyInfoId).
                                          Select(pjinf => new ProveedoresOnLine.Company.Models.Util.GenericItemInfoModel()
                    {
                        ItemInfoId   = pjinf.ItemInfoId,
                        ItemInfoType = pjinf.ItemInfoType,
                        Value        = pjinf.Value,
                        LargeValue   = pjinf.LargeValue,
                        Enable       = false,
                    }).ToList(),
                };

                //upsert project info
                oSurveyToUpsert = ProveedoresOnLine.SurveyModule.Controller.SurveyModule.SurveyInfoUpsert(oSurveyToUpsert);

                oReturn = true;
            }
            return(oReturn);
        }
コード例 #3
0
        public List <MarketPlace.Models.General.FileModel> SurveyUploadFile
            (string SurveyUploadFile,
            string SurveyPublicId,
            string SurveyConfigInfoId,
            string ProviderPublicId)
        {
            List <MarketPlace.Models.General.FileModel> oReturn = new List <MarketPlace.Models.General.FileModel>();

            if (SurveyUploadFile == "true" &&
                !string.IsNullOrEmpty(SurveyPublicId) &&
                System.Web.HttpContext.Current.Request.Files.AllKeys.Length > 0)
            {
                List <string> lstUsedFiles = new List <string>();

                //get folder
                string strFolder = System.Web.HttpContext.Current.Server.MapPath
                                       (MarketPlace.Models.General.InternalSettings.Instance
                                       [MarketPlace.Models.General.Constants.C_Settings_File_TempDirectory].Value);

                if (!System.IO.Directory.Exists(strFolder))
                {
                    System.IO.Directory.CreateDirectory(strFolder);
                }

                System.Web.HttpContext.Current.Request.Files.AllKeys.All(reqFile =>
                {
                    MarketPlace.Models.General.FileModel oFile = new MarketPlace.Models.General.FileModel();

                    //get File request
                    var oUploadFile = System.Web.HttpContext.Current.Request.Files[reqFile];

                    if (oUploadFile != null && !string.IsNullOrEmpty(oUploadFile.FileName))
                    {
                        oFile.FileName = oUploadFile.FileName.Replace(",", "");

                        //save local file
                        string strLocalFile = strFolder.TrimEnd('\\') +
                                              "\\SurveyFile_" +
                                              SurveyPublicId + "_" +
                                              DateTime.Now.ToString("yyyyMMddHHmmss") + "." +
                                              oFile.FileExtension;

                        oUploadFile.SaveAs(strLocalFile);

                        //load file to s3
                        oFile.ServerUrl = ProveedoresOnLine.FileManager.FileController.LoadFile
                                              (strLocalFile,
                                              MarketPlace.Models.General.InternalSettings.Instance
                                              [MarketPlace.Models.General.Constants.C_Settings_File_RemoteDirectory].Value.TrimEnd('\\') +
                                              "\\SurveyFile\\" + SurveyPublicId + "\\");

                        //remove temporal file
                        if (System.IO.File.Exists(strLocalFile))
                        {
                            System.IO.File.Delete(strLocalFile);
                        }


                        ProveedoresOnLine.SurveyModule.Models.SurveyModel oSurvey =
                            ProveedoresOnLine.SurveyModule.Controller.SurveyModule.SurveyGetById(SurveyPublicId);

                        //add file to Survey
                        ProveedoresOnLine.SurveyModule.Models.SurveyModel oSurveyToUpsert = new ProveedoresOnLine.SurveyModule.Models.SurveyModel()
                        {
                            SurveyPublicId = SurveyPublicId,

                            RelatedProvider = new ProveedoresOnLine.CompanyProvider.Models.Provider.ProviderModel()
                            {
                                RelatedCompany = new ProveedoresOnLine.Company.Models.Company.CompanyModel()
                                {
                                    CompanyPublicId = ProviderPublicId,
                                }
                            },
                            RelatedSurveyConfig = new ProveedoresOnLine.SurveyModule.Models.SurveyConfigModel()
                            {
                                ItemId = Convert.ToInt32(SurveyConfigInfoId),
                            },

                            SurveyInfo = new List <ProveedoresOnLine.Company.Models.Util.GenericItemInfoModel>()
                            {
                                new ProveedoresOnLine.Company.Models.Util.GenericItemInfoModel()
                                {
                                    ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                    {
                                        ItemId = (int)MarketPlace.Models.General.enumSurveyInfoType.File,
                                    },
                                    LargeValue = oFile.ServerUrl + "," + oFile.FileName,
                                    Enable     = true,
                                },
                            },
                            Enable = true,
                        };
                        ProveedoresOnLine.SurveyModule.Controller.SurveyModule.SurveyUpsert(oSurveyToUpsert);


                        oFile.FileObjectId = oSurveyToUpsert.SurveyInfo.Where
                                                 (pjinf => pjinf.ItemInfoType.ItemId == (int)MarketPlace.Models.General.enumSurveyInfoType.File &&
                                                 pjinf.ItemInfoId > 0).
                                             Select(pjinf => pjinf.ItemInfoId.ToString()).
                                             DefaultIfEmpty(string.Empty).
                                             FirstOrDefault();

                        lstUsedFiles.Add(oFile.ServerUrl);

                        //add result to response
                        oReturn.Add(oFile);
                    }
                    return(true);
                });

                //register used files
                LogManager.ClientLog.FileUsedCreate(lstUsedFiles);
            }
            return(oReturn);
        }
コード例 #4
0
        private ProveedoresOnLine.SurveyModule.Models.SurveyModel GetSurveyUpsertRequest()
        {
            //Obtener El reponsable
            //Obetener todos los evaluadores

            List <Tuple <string, int, int> > EvaluatorsRoleObj = new List <Tuple <string, int, int> >();
            List <string> EvaluatorsEmail = new List <string>();

            #region Parent Survey
            ProveedoresOnLine.SurveyModule.Models.SurveyModel oReturn = new ProveedoresOnLine.SurveyModule.Models.SurveyModel()
            {
                ChildSurvey = new List <ProveedoresOnLine.SurveyModule.Models.SurveyModel>(),

                SurveyPublicId  = System.Web.HttpContext.Current.Request["SurveyPublicId"],
                RelatedProvider = new ProveedoresOnLine.CompanyProvider.Models.Provider.ProviderModel()
                {
                    RelatedCompany = new ProveedoresOnLine.Company.Models.Company.CompanyModel()
                    {
                        CompanyPublicId = System.Web.HttpContext.Current.Request["ProviderPublicId"],
                    }
                },
                RelatedSurveyConfig = new ProveedoresOnLine.SurveyModule.Models.SurveyConfigModel()
                {
                    ItemId = Convert.ToInt32(System.Web.HttpContext.Current.Request["SurveyConfigId"].Trim()),
                },
                Enable     = true,
                User       = SessionModel.CurrentCompany.RelatedUser.FirstOrDefault().User, //Responsable
                SurveyInfo = new List <ProveedoresOnLine.Company.Models.Util.GenericItemInfoModel>()
            };

            System.Web.HttpContext.Current.Request.Form.AllKeys.Where(x => x.Contains("SurveyInfo_")).All(req =>
            {
                string[] strSplit = req.Split('_');

                //Set Parent Survey Info
                if (strSplit.Length >= 3)
                {
                    oReturn.SurveyInfo.Add(new ProveedoresOnLine.Company.Models.Util.GenericItemInfoModel()
                    {
                        ItemInfoId   = !string.IsNullOrEmpty(strSplit[2]) ? Convert.ToInt32(strSplit[2].Trim()) : 0,
                        ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                        {
                            ItemId = Convert.ToInt32(strSplit[1].Trim())
                        },
                        Value = System.Web.HttpContext.Current.Request[req],
                        //LargeValue = Convert.ToInt32(strSplit[1].Trim()) == (int)enumSurveyInfoType.Evaluator ? strSplit[4].Trim() : string.Empty,
                        Enable = true,
                    });

                    if (Convert.ToInt32(strSplit[1].Trim()) == (int)enumSurveyInfoType.Evaluator)
                    {
                        EvaluatorsRoleObj.Add(new Tuple <string, int, int>(System.Web.HttpContext.Current.Request[req], Convert.ToInt32(strSplit[4].Trim()), Convert.ToInt32(strSplit[2].Trim())));
                    }
                }
                return(true);
            });
            #endregion

            if (EvaluatorsRoleObj != null && EvaluatorsRoleObj.Count > 0)
            {
                EvaluatorsEmail = new List <string>();
                EvaluatorsEmail = EvaluatorsRoleObj.GroupBy(x => x.Item1).Select(grp => grp.First().Item1).ToList();

                #region Child Survey
                //Set survey by evaluators
                EvaluatorsEmail.All(x =>
                {
                    oReturn.ChildSurvey.Add(new SurveyModel()
                    {
                        SurveyPublicId  = System.Web.HttpContext.Current.Request["SurveyPublicId"],
                        RelatedProvider = new ProveedoresOnLine.CompanyProvider.Models.Provider.ProviderModel()
                        {
                            RelatedCompany = new ProveedoresOnLine.Company.Models.Company.CompanyModel()
                            {
                                CompanyPublicId = System.Web.HttpContext.Current.Request["ProviderPublicId"],
                            }
                        },
                        RelatedSurveyConfig = new ProveedoresOnLine.SurveyModule.Models.SurveyConfigModel()
                        {
                            ItemId = Convert.ToInt32(System.Web.HttpContext.Current.Request["SurveyConfigId"].Trim()),
                        },
                        Enable     = true,
                        User       = x,//Evaluator,
                        SurveyInfo = new List <GenericItemInfoModel>()
                    });
                    return(true);
                });

                //Set SurveyChild Info
                oReturn.ChildSurvey.All(inf =>
                {
                    List <Tuple <int, int> > AreaIdList = new List <Tuple <int, int> >();
                    AreaIdList.AddRange(EvaluatorsRoleObj.Where(y => y.Item1 == inf.User).Select(y => new Tuple <int, int>(y.Item2, y.Item3)).ToList());
                    if (AreaIdList != null)
                    {
                        AreaIdList.All(a =>
                        {
                            inf.SurveyInfo.Add(new GenericItemInfoModel()
                            {
                                ItemInfoId   = a.Item2 != null ? a.Item2 : 0,
                                ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                {
                                    ItemId = (int)enumSurveyInfoType.CurrentArea
                                },
                                Value  = a.Item1.ToString(),
                                Enable = true,
                            });
                            inf.SurveyInfo.Add(new GenericItemInfoModel()
                            {
                                ItemInfoId   = 0,
                                ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                {
                                    ItemId = (int)enumSurveyInfoType.IssueDate
                                },
                                Value  = oReturn.SurveyInfo.Where(x => x.ItemInfoType.ItemId == (int)enumSurveyInfoType.IssueDate).Select(x => x.Value).FirstOrDefault(),
                                Enable = true,
                            });
                            inf.SurveyInfo.Add(new GenericItemInfoModel()
                            {
                                ItemInfoId   = 0,
                                ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                {
                                    ItemId = (int)enumSurveyInfoType.Contract
                                },
                                Value  = oReturn.SurveyInfo.Where(x => x.ItemInfoType.ItemId == (int)enumSurveyInfoType.Contract).Select(x => x.Value).FirstOrDefault(),
                                Enable = true,
                            });
                            inf.SurveyInfo.Add(new GenericItemInfoModel()
                            {
                                ItemInfoId   = 0,
                                ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                {
                                    ItemId = (int)enumSurveyInfoType.Status
                                },
                                Value  = oReturn.SurveyInfo.Where(x => x.ItemInfoType.ItemId == (int)enumSurveyInfoType.Status).Select(x => x.Value).FirstOrDefault(),
                                Enable = true,
                            });
                            inf.SurveyInfo.Add(new GenericItemInfoModel()
                            {
                                ItemInfoId   = 0,
                                ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                {
                                    ItemId = (int)enumSurveyInfoType.Comments
                                },
                                Value  = oReturn.SurveyInfo.Where(x => x.ItemInfoType.ItemId == (int)enumSurveyInfoType.Comments).Select(x => x.Value).FirstOrDefault(),
                                Enable = true,
                            });
                            inf.SurveyInfo.Add(new GenericItemInfoModel()
                            {
                                ItemInfoId   = 0,
                                ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                {
                                    ItemId = (int)enumSurveyInfoType.Responsible
                                },
                                Value  = oReturn.SurveyInfo.Where(x => x.ItemInfoType.ItemId == (int)enumSurveyInfoType.Responsible).Select(x => x.Value).FirstOrDefault(),
                                Enable = true,
                            });
                            inf.SurveyInfo.Add(new GenericItemInfoModel()
                            {
                                ItemInfoId   = 0,
                                ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                {
                                    ItemId = (int)enumSurveyInfoType.ExpirationDate
                                },
                                Value  = oReturn.SurveyInfo.Where(x => x.ItemInfoType.ItemId == (int)enumSurveyInfoType.ExpirationDate).Select(x => x.Value).FirstOrDefault(),
                                Enable = true,
                            });

                            List <GenericItemInfoModel> oEvaluators = new List <GenericItemInfoModel>();
                            oEvaluators = oReturn.SurveyInfo.Where(x => x.ItemInfoType.ItemId == (int)enumSurveyInfoType.Evaluator).Select(x => x).ToList();

                            if (oEvaluators.Count > 0)
                            {
                                oEvaluators.All(x =>
                                {
                                    inf.SurveyInfo.Add(new GenericItemInfoModel()
                                    {
                                        ItemInfoId   = 0,
                                        ItemInfoType = new ProveedoresOnLine.Company.Models.Util.CatalogModel()
                                        {
                                            ItemId = (int)enumSurveyInfoType.Evaluator
                                        },
                                        Value  = x.Value,
                                        Enable = true,
                                    });
                                    return(true);
                                });
                            }
                            return(true);
                        });
                    }
                    return(true);
                });
                #endregion
            }
            return(oReturn);
        }