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); }
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); }
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; } }
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; } }