Esempio n. 1
0
        public async Task <SettingsSetRes> SetSalesPipelineRoles(SettingsSetReq request, string ticket)
        {
            SettingsSetRes response = new SettingsSetRes();

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

            return(response);
        }
Esempio n. 2
0
        public async Task <SettingsSetRes> DeleteSalesPipelineRoles([FromBody] SettingsSetReq request)
        {
            var response = new SettingsSetRes();

            try
            {
                response = await _settingsRepository.DeleteSalesPipelineRoles(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 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;
            }
        }