Ejemplo n.º 1
0
        public async Task <SettingsGetRes> GetSalesPipelineRoles(SettingsGetReq request, string ticket)
        {
            SettingsGetRes response = new SettingsGetRes();

            response = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceSettings:GetSalesPipelineRoles"), request, typeof(SettingsGetRes), ticket);

            return(response);
        }
Ejemplo n.º 2
0
        public async Task <SettingsGetRes> GetSalesPipelineRoles([FromBody] SettingsGetReq request)
        {
            var response = new SettingsGetRes();

            try
            {
                response = await _settingsRepository.GetSalesPipelineRoles(request);

                response.ResponseStatus.Status       = "Success";
                response.ResponseStatus.ErrorMessage = response != null ? "" : "No Records Found.";
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message;
            }

            return(response);
        }
Ejemplo n.º 3
0
        public IActionResult ViewSalesPipelineRoles(string tabName)
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(tabName))
                {
                    ViewBag.tabName = tabName;
                }

                SalesPipelineViewModel model = new SalesPipelineViewModel();

                #region Destination dropdown binding
                MasterTypeRequest objMasterTypeRequest = new MasterTypeRequest();
                objMasterTypeRequest.Property = "QRF Masters";
                objMasterTypeRequest.Name     = "QRF Destination";
                SalesProviders     objSalesProvider      = new SalesProviders(_configuration);
                MasterTypeResponse objMasterTypeResponse = objSalesProvider.GetGenericMasterForType(objMasterTypeRequest, token).Result;

                model.DestinationList = objMasterTypeResponse.PropertyList[0].Attribute[0].Values.Select(a => new AttributeValues
                {
                    AttributeValue_Id = a.AttributeValue_Id,
                    CityName          = a.Value.Contains("|") ? a.Value.Split("|")[0].Trim() : "",
                    Value             = a.Value.Contains("|") ? a.Value.Split("|")[1].Trim() : a.Value
                }).ToList();
                #endregion

                #region Role dropdown binding
                UserByRoleGetRes response = new UserByRoleGetRes();
                UserByRoleGetReq request  = new UserByRoleGetReq();
                request.RoleName = new List <string>()
                {
                    "Costing Officer", "Product Accountant"
                };
                response       = loginProviders.GetRoleIdByRoleName(request, token).Result;
                model.RoleList = response.Users.Select(x => new AttributeValues {
                    AttributeValue_Id = x.UserRoleId, Value = x.UserRole
                }).ToList();
                #endregion

                #region Sales Office dropdown binding
                CompanyOfficerGetRes res = new CompanyOfficerGetRes();
                res = agentProviders.GetSalesOfficesOfSystemCompany(token).Result;
                model.SalesOfficeList = res.Branches.Select(x => new AttributeValues {
                    AttributeValue_Id = x.Company_Id, Value = x.Company_Name
                }).ToList();
                #endregion

                #region Destination list binding
                SettingsGetReq request1  = new SettingsGetReq();
                SettingsGetRes response1 = new SettingsGetRes();
                request1.Type = "Destination";
                request1.LoggedInUserContact_Id = ckUserContactId;
                response1 = userAndRoleMgmtProviders.GetSalesPipelineRoles(request1, token).Result;
                model.RolesByDestinationList = response1.Values.ToList();
                model.RolesByDestinationList.Add(new Values());
                #endregion

                #region Sales office list binding
                SettingsGetReq request2  = new SettingsGetReq();
                SettingsGetRes response2 = new SettingsGetRes();
                request2.Type = "SalesOffice";
                request2.LoggedInUserContact_Id = ckUserContactId;
                response2 = userAndRoleMgmtProviders.GetSalesPipelineRoles(request2, token).Result;
                model.RolesBySalesOfficeList = response2.Values.ToList();
                model.RolesBySalesOfficeList.Add(new Values());
                #endregion

                return(PartialView("~/Areas/Settings/Views/UserAndRoleMgmt/_ViewSalesPipelineRoles.cshtml", model));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 4
0
        public IActionResult SaveRoleBySalesOffice(SalesPipelineViewModel model)
        {
            try
            {
                bool           IsDuplicate = false;
                SettingsGetReq request1    = new SettingsGetReq();
                SettingsGetRes response1   = new SettingsGetRes();
                SettingsSetReq request     = new SettingsSetReq();
                SettingsSetRes response    = new SettingsSetRes();

                //Get and check for duplicate
                request1.Type = "SalesOffice";
                request1.LoggedInUserContact_Id = ckUserContactId;
                response1 = userAndRoleMgmtProviders.GetSalesPipelineRoles(request1, token).Result;

                //Self check for duplicate
                if (model.RolesBySalesOfficeList.Where(x => string.IsNullOrWhiteSpace(x.CreateUser)).Count() > 1)
                {
                    var newlist = model.RolesBySalesOfficeList.Where(x => string.IsNullOrWhiteSpace(x.CreateUser)).ToList();
                    for (int i = 0; i < newlist.Count(); i++)
                    {
                        for (int j = i + 1; j < newlist.Count(); j++)
                        {
                            if (newlist[i].TypeId == newlist[j].TypeId && newlist[i].RoleId == newlist[j].RoleId && newlist[i].UserId == newlist[j].UserId && newlist[i].Status == newlist[j].Status)
                            {
                                IsDuplicate = true;
                                response.ResponseStatus.Status        = "Failure";
                                response.ResponseStatus.StatusMessage = "Duplicate Record";
                                break;
                            }
                        }
                    }
                }

                //db check for duplicate if self not having any duplicate values
                if (IsDuplicate == false)
                {
                    foreach (var a in model.RolesBySalesOfficeList.Where(x => string.IsNullOrWhiteSpace(x.CreateUser)))
                    {
                        var dup1 = response1.Values.Where(x => x.TypeId == a.TypeId && x.RoleId == a.RoleId && x.UserId == a.UserId && a.Status == a.Status).FirstOrDefault();
                        if (dup1 != null)
                        {
                            IsDuplicate = true;
                            response.ResponseStatus.Status        = "Failure";
                            response.ResponseStatus.StatusMessage = "Duplicate Record";
                            break;
                        }
                    }
                }

                if (IsDuplicate == false)
                {
                    //Set details
                    List <Values> lst = new List <Values>();
                    request.LoggedInUserContact_Id = ckUserContactId;
                    request.Type = "SalesOffice";
                    foreach (var m in model.RolesBySalesOfficeList)
                    {
                        Values obj = new Values();
                        obj.TypeId   = m.TypeId;
                        obj.TypeName = m.TypeName;
                        obj.RoleId   = m.RoleId;
                        obj.RoleName = m.RoleName;
                        obj.UserId   = m.UserId;
                        obj.UserName = m.UserName;
                        obj.Status   = m.Status ?? "";
                        if (!string.IsNullOrWhiteSpace(obj.Status))
                        {
                            obj.EditUser   = ckUserEmailId;
                            obj.EditDate   = DateTime.Now;
                            obj.CreateDate = m.CreateDate;
                            obj.CreateUser = m.CreateUser;
                        }
                        else
                        {
                            obj.CreateUser = m.CreateUser ?? ckUserEmailId;
                            obj.CreateDate = m.CreateDate == DateTime.MinValue ? DateTime.Now : m.CreateDate;
                        }
                        lst.Add(obj);
                    }
                    request.Values = lst;
                    response       = userAndRoleMgmtProviders.SetSalesPipelineRoles(request, token).Result;
                }

                return(Json(new { responseText = response.ResponseStatus.StatusMessage, status = response.ResponseStatus.Status }));
            }
            catch (Exception ex)
            {
                throw;
            }
        }