public IActionResult DeleteProductSalesAgent(string CompanyId, string ProductSupplier_Id, string ProductSupplierSalesAgent_Id) { var status = ""; var msg = ""; var contactId = ""; SupplierSetReq req = new SupplierSetReq(); req.Company_Id = CompanyId; req.ProductSupplierSalesAgent_Id = ProductSupplierSalesAgent_Id; req.ProductSupplier_Id = ProductSupplier_Id; req.IsRemoveSalesAgent = true; req.EditUser = ckUserEmailId; SupplierSetRes res = supplierProviders.SetSupplierProduct(req, token).Result; //Call Bridge service to delete sales agent data in SQL databse ResponseStatus result = new ResponseStatus(); if (res.ResponseStatus != null) { if (res.ResponseStatus.Status.ToLower() == "success") { SetProductSalesAgent_RQ request = new SetProductSalesAgent_RQ(); request.ProductSupplierSalesAgent_Id = res.SalesAgentId; request.User = ckUserEmailId; result = supplierProviders.DelCompany_ProductSalesAgent(request, token).Result; status = result.Status; msg = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage; } else { status = "failure"; msg = res.ResponseStatus.ErrorMessage; } } return(null); }
public async Task <SupplierSetRes> SetSupplierProduct(SupplierSetReq supplierSetReq, string ticket) { SupplierSetRes supplierSetRes = new SupplierSetRes(); supplierSetRes = await serviceProxy.PostData(_configuration.GetValue <string>("SupplierService:SetSupplierProduct"), supplierSetReq, typeof(SupplierSetRes), ticket); return(supplierSetRes); }
public async Task <SupplierSetRes> SetSupplierMapping(SupplierSetReq request, string ticket) { SupplierSetRes supplierGetRes = new SupplierSetRes(); supplierGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("SupplierService:SetSupplierMapping"), request, typeof(SupplierSetRes), ticket); return(supplierGetRes); }
public async Task <SupplierSetRes> SetSupplierMapping([FromBody] SupplierSetReq request) { var response = new SupplierSetRes(); try { response = await _supplierRepository.SetSupplierMapping(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 async Task <SupplierSetRes> SetSupplierMapping(SupplierSetReq request) { SupplierSetRes response = new SupplierSetRes(); List <Mappings> lstMappings = new List <Mappings>(); try { Products product = new Products(); mCompanies company = new mCompanies(); if (!string.IsNullOrWhiteSpace(request.Id)) { if (!string.IsNullOrWhiteSpace(request.PageName) && request.PageName.ToLower() == "product") { product = await _MongoContext.Products.FindAsync(x => x.VoyagerProduct_Id == request.Id).Result.FirstOrDefaultAsync(); } else { company = await _MongoContext.mCompanies.FindAsync(x => x.Company_Id == request.Id).Result.FirstOrDefaultAsync(); } if (product != null || company != null) { request.SupplierMappings.RemoveAll(x => string.IsNullOrWhiteSpace(x.Application_Id) && string.IsNullOrWhiteSpace(x.PartnerEntityCode) && string.IsNullOrWhiteSpace(x.PartnerEntityName)); foreach (var val in request.SupplierMappings) { var foundMapped = company != null && !string.IsNullOrEmpty(company.Company_Id) && company.Mappings != null && company.Mappings.Any() ? company.Mappings.Where(a => a.PartnerEntityCode == val.PartnerEntityCode && a.PartnerEntityType.ToLower() == "ACCOUNT".ToLower() && string.IsNullOrEmpty(a.Status)).FirstOrDefault(): null; if (foundMapped == null) { Mappings mobj = new Mappings() { Application_Id = val.Application_Id, Application = val.Application, PartnerEntityCode = val.PartnerEntityCode, PartnerEntityName = val.PartnerEntityName, PartnerEntityType = string.Empty, Action = string.Empty, Status = string.Empty, AdditionalInfoType = string.Empty, AdditionalInfo = string.Empty, CreateDate = val.CreateDate, CreateUser = val.CreateUser }; lstMappings.Add(mobj); } else { foundMapped.EditDate = DateTime.Now; foundMapped.EditUser = val.CreateUser; lstMappings.Add(foundMapped); } } if (product != null && !string.IsNullOrWhiteSpace(product.VoyagerProduct_Id)) { product.Mappings = lstMappings.Distinct().ToList(); await _MongoContext.Products.UpdateOneAsync(Builders <Products> .Filter.Eq("VoyagerProduct_Id", request.Id), Builders <Products> .Update.Set("Mappings", product.Mappings)); response.ResponseStatus.Status = "Success"; response.ResponseStatus.StatusMessage = "Record Saved Successfully."; } else if (company != null && !string.IsNullOrWhiteSpace(company.Company_Id)) { company.Mappings = lstMappings.Distinct().ToList(); await _MongoContext.mCompanies.UpdateOneAsync(Builders <mCompanies> .Filter.Eq("Company_Id", request.Id), Builders <mCompanies> .Update.Set("Mappings", company.Mappings)); response.ResponseStatus.Status = "Success"; response.ResponseStatus.StatusMessage = "Record Saved Successfully."; } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Details not found"; } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Details not found"; } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Id not found"; } } catch (Exception ex) { Console.WriteLine(ex.Message); response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = ex.Message; } return(response); }
public async Task <SupplierSetRes> SetSupplierProduct(SupplierSetReq request) { SupplierSetRes response = new SupplierSetRes(); try { var company = _MongoContext.mCompanies.AsQueryable().Where(x => x.Company_Id == request.Company_Id).FirstOrDefault(); if (company != null && request.Product != null) { var product = company.Products.Where(x => x.ProductSupplier_Id == request.ProductSupplier_Id).FirstOrDefault(); if (product != null) { if (request.Product.SalesAgent != null && request.Product.SalesAgent.Count > 0 && request.IsAddSalesAgent) { ProductSupplierSalesAgent newAgent = new ProductSupplierSalesAgent(); newAgent.ProductSupplierSalesAgent_Id = Guid.NewGuid().ToString(); newAgent.Company_Id = request.Product.SalesAgent[0].Company_Id; newAgent.Company_Code = request.Product.SalesAgent[0].Company_Code; newAgent.Company_Name = request.Product.SalesAgent[0].Company_Name; product.EditUser = request.EditUser; product.EditDate = DateTime.Now; product.SalesAgent.Add(newAgent); response.SalesAgentId = newAgent.ProductSupplierSalesAgent_Id; } else if (request.IsRemoveSalesAgent && !string.IsNullOrEmpty(request.ProductSupplierSalesAgent_Id)) { product.SalesAgent.RemoveAll(x => x.ProductSupplierSalesAgent_Id == request.ProductSupplierSalesAgent_Id); product.EditUser = request.EditUser; product.EditDate = DateTime.Now; response.SalesAgentId = request.ProductSupplierSalesAgent_Id; } else if (request.IsProduct) { string salesEmail = string.Empty, salesName = string.Empty, fitEmail = string.Empty, fitName = string.Empty, groupEmail = string.Empty, groupName = string.Empty, financeEmail = string.Empty, financeName = string.Empty, emergencyEmail = string.Empty, emergencyName = string.Empty, complaintEmail = string.Empty, complaintName = string.Empty; var currencyname = _MongoContext.mCurrency.AsQueryable().Where(x => x.VoyagerCurrency_Id == request.Product.CurrencyId).Select(x => x.Name).FirstOrDefault(); var contactdetails = company.ContactDetails.ToList(); if (contactdetails != null && contactdetails.Count > 0) { salesName = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Sales_Id).Select(x => x.FIRSTNAME + " " + x.LastNAME).FirstOrDefault(); salesEmail = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Sales_Id).Select(x => x.MAIL).FirstOrDefault(); fitName = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_FIT_Id).Select(x => x.FIRSTNAME + " " + x.LastNAME).FirstOrDefault(); fitEmail = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_FIT_Id).Select(x => x.MAIL).FirstOrDefault(); groupName = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Group_Id).Select(x => x.FIRSTNAME + " " + x.LastNAME).FirstOrDefault(); groupEmail = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Group_Id).Select(x => x.MAIL).FirstOrDefault(); financeName = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Finance_Id).Select(x => x.FIRSTNAME + " " + x.LastNAME).FirstOrDefault(); financeEmail = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Finance_Id).Select(x => x.MAIL).FirstOrDefault(); emergencyName = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Emergency_Id).Select(x => x.FIRSTNAME + " " + x.LastNAME).FirstOrDefault(); emergencyEmail = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Emergency_Id).Select(x => x.MAIL).FirstOrDefault(); complaintName = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Complaints_Id).Select(x => x.FIRSTNAME + " " + x.LastNAME).FirstOrDefault(); complaintEmail = contactdetails.Where(x => x.Contact_Id == request.Product.Contact_Complaints_Id).Select(x => x.MAIL).FirstOrDefault(); } product.SupplierStatus = request.Product.SupplierStatus; product.CurrencyId = request.Product.CurrencyId; product.CurrencyName = currencyname; product.ActiveFrom = request.Product.ActiveFrom; product.ActiveTo = request.Product.ActiveTo; product.IsPreferred = request.Product.IsPreferred; product.IsDefault = request.Product.IsDefault; product.Contact_Sales_Id = request.Product.Contact_Sales_Id; product.Contact_Sales_Name = salesName; product.Contact_Sales_Email = salesEmail; product.Contact_FIT_Id = request.Product.Contact_FIT_Id; product.Contact_FIT_Name = fitName; product.Contact_FIT_Email = fitEmail; product.Contact_Group_Id = request.Product.Contact_Group_Id; product.Contact_Group_Name = groupName; product.Contact_Group_Email = groupEmail; product.Contact_Finance_Id = request.Product.Contact_Finance_Id; product.Contact_Finance_Name = financeName; product.Contact_Finance_Email = financeEmail; product.Contact_Emergency_Id = request.Product.Contact_Emergency_Id; product.Contact_Emergency_Name = emergencyName; product.Contact_Emergency_Email = emergencyEmail; product.Contact_Complaints_Id = request.Product.Contact_Complaints_Id; product.Contact_Complaints_Name = complaintName; product.Contact_Complaints_Email = complaintEmail; product.EditUser = request.EditUser; product.EditDate = DateTime.Now; if (request.Product.IsDefault == false) { product.OperatingMarket.RemoveAll(x => x.ProductSupplierOperatingMkt_Id != null); foreach (var a in request.Product.OperatingMarket) { ProductSupplierOperatingMarket op = new ProductSupplierOperatingMarket(); op.ProductSupplierOperatingMkt_Id = Guid.NewGuid().ToString(); op.BusinessRegion_Id = a.BusinessRegion_Id; op.BusinessRegion = a.BusinessRegion; product.OperatingMarket.Add(op); } product.SalesMarket.RemoveAll(x => x.ProductSupplierSalesMkt_Id != null); foreach (var a in request.Product.SalesMarket) { ProductSupplierSalesMarket sm = new ProductSupplierSalesMarket(); sm.ProductSupplierSalesMkt_Id = Guid.NewGuid().ToString(); sm.BusinessRegion_Id = a.BusinessRegion_Id; sm.BusinessRegion = a.BusinessRegion; product.SalesMarket.Add(sm); } } else { product.OperatingMarket = new List <ProductSupplierOperatingMarket>(); product.SalesMarket = new List <ProductSupplierSalesMarket>(); product.SalesAgent = new List <ProductSupplierSalesAgent>(); } } } await _MongoContext.mCompanies.UpdateOneAsync(Builders <mCompanies> .Filter.Eq("Company_Id", company.Company_Id), Builders <mCompanies> .Update.Set("Products", company.Products) .Set("EditUser", request.EditUser).Set("EditDate", DateTime.Now)); } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "No company found"; } } catch (Exception ex) { Console.WriteLine(ex.Message); response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = ex.Message; } return(response); }
public IActionResult SaveManageProduct(ProductViewModel model) { try { var status = ""; var msg = ""; SupplierSetReq req = new SupplierSetReq(); req.Company_Id = model.CompanyId; req.ProductSupplier_Id = model.ProductSupplierId; req.EditUser = ckUserEmailId; req.IsProduct = true; req.Product.SupplierStatus = model.Status == "Active" ? string.Empty : "X"; req.Product.CurrencyId = model.Currency_Id; req.Product.IsPreferred = model.IsPreferred; req.Product.IsDefault = model.IsDefault; if (string.IsNullOrEmpty(model.ActiveFrom)) { req.Product.ActiveFrom = null; } else { var strFromDT = model.ActiveFrom.Split("/"); if (strFromDT?.Count() >= 3) { DateTime fromDT = new DateTime(Convert.ToInt32(strFromDT[2]), Convert.ToInt32(strFromDT[1]), Convert.ToInt32(strFromDT[0])); req.Product.ActiveFrom = fromDT; } else { req.Product.ActiveFrom = null; } } if (string.IsNullOrEmpty(model.ActiveTo)) { req.Product.ActiveTo = null; } else { var strToDT = model.ActiveTo.Split("/"); if (strToDT?.Count() >= 3) { DateTime toDT = new DateTime(Convert.ToInt32(strToDT[2]), Convert.ToInt32(strToDT[1]), Convert.ToInt32(strToDT[0])); req.Product.ActiveTo = toDT; } else { req.Product.ActiveTo = null; } } req.Product.Contact_Sales_Id = model.ContactSalesId; req.Product.Contact_Sales_Name = model.ContactSalesName; req.Product.Contact_FIT_Id = model.ContactFitId; req.Product.Contact_FIT_Name = model.ContactFitName; req.Product.Contact_Group_Id = model.ContactGroupId; req.Product.Contact_Group_Name = model.ContactGroupName; req.Product.Contact_Emergency_Id = model.ContactEmergencyId; req.Product.Contact_Emergency_Name = model.ContactEmergencyName; req.Product.Contact_Finance_Id = model.ContactFinanceId; req.Product.Contact_Finance_Name = model.ContactFinanceName; req.Product.Contact_Complaints_Id = model.ContactComplaintId; req.Product.Contact_Complaints_Name = model.ContactComplaintName; req.Product.OperatingMarket = model.selectedlstOperatingMarket.Select(x => new ProductSupplierOperatingMarket { ProductSupplierOperatingMkt_Id = x.ProductSupplierOperatingMkt_Id, BusinessRegion_Id = x.BusinessRegion_Id, BusinessRegion = x.BusinessRegion }).ToList(); req.Product.SalesMarket = model.selectedlstSalesMarket.Select(x => new ProductSupplierSalesMarket { ProductSupplierSalesMkt_Id = x.ProductSupplierSalesMkt_Id, BusinessRegion_Id = x.BusinessRegion_Id, BusinessRegion = x.BusinessRegion }).ToList(); SupplierSetRes res = supplierProviders.SetSupplierProduct(req, token).Result; //Call Bridge service to save Product data in SQL databse ResponseStatus result = new ResponseStatus(); if (res.ResponseStatus != null) { if (res.ResponseStatus.Status.ToLower() == "success") { SetProduct_RQ request = new SetProduct_RQ(); request.ProductSupplier_Id = model.ProductSupplierId; request.User = ckUserEmailId; result = supplierProviders.SetCompany_Product(request, token).Result; var salesAgentId = res.SalesAgentId; status = result.Status; msg = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage; //Call Bridge service to save Sales Market data in SQL databse ResponseStatus result1 = new ResponseStatus(); if (res.ResponseStatus != null) { if (res.ResponseStatus.Status.ToLower() == "success") { SetProductSalesMarket_RQ request1 = new SetProductSalesMarket_RQ(); request1.ProductSupplier_Id = model.ProductSupplierId; request1.User = ckUserEmailId; result1 = supplierProviders.SetCompany_ProductSalesMarket(request1, token).Result; status = result.Status; msg = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage; } else { status = "failure"; msg = res.ResponseStatus.ErrorMessage; } } //Call Bridge service to save Operating Market data in SQL databse ResponseStatus res1 = new ResponseStatus(); if (res.ResponseStatus != null) { if (res.ResponseStatus.Status.ToLower() == "success") { SetProductOperatingMarket_RQ req1 = new SetProductOperatingMarket_RQ(); req1.ProductSupplier_Id = model.ProductSupplierId; req1.User = ckUserEmailId; res1 = supplierProviders.SetCompany_ProductOperatingMarket(req1, token).Result; status = result.Status; msg = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage; } else { status = "failure"; msg = res.ResponseStatus.ErrorMessage; } } if (model.IsDefault == true) { //Call Bridge service to save Sales Agent data in SQL databse ResponseStatus res2 = new ResponseStatus(); if (res.ResponseStatus != null) { if (res.ResponseStatus.Status.ToLower() == "success") { SetProductSalesAgent_RQ req2 = new SetProductSalesAgent_RQ(); req2.ProductSupplier_Id = model.ProductSupplierId; req2.User = ckUserEmailId; res2 = supplierProviders.DelCompany_ProductSalesAgent(req2, token).Result; status = result.Status; msg = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage; } else { status = "failure"; msg = res.ResponseStatus.ErrorMessage; } } } } else { status = "failure"; msg = res.ResponseStatus.ErrorMessage; } } return(Json(new { status = status, responseText = msg })); } catch (Exception ex) { throw; } }
public IActionResult SaveProductSalesAgent(Branches model) { var status = ""; request = new AgentGetReq() { CompanyId = model.ParentCompanyId }; AgentGetRes response = agentProviders.GetAgentDetailedInfo(request, token).Result; var msg = ""; var name = ""; if (!string.IsNullOrEmpty(model.BranchCompanyName)) { name = model.BranchCompanyName; if (response.AgentDetails.Products != null && (model.BranchCompanyId != response.AgentDetails.Company_Id)) { var product = response.AgentDetails.Products.Where(x => x.ProductSupplier_Id == model.ProductSupplierId).FirstOrDefault(); var IsDuplicate = product.SalesAgent.Where(x => x.Company_Name == name).Select(x => x.Company_Name).FirstOrDefault(); if (!string.IsNullOrEmpty(IsDuplicate)) { status = "error"; msg = "Duplicate record. Cannot insert as " + IsDuplicate + " is already exists. Please select another agent."; } else { SupplierSetReq req = new SupplierSetReq(); req.Company_Id = model.ParentCompanyId; req.ProductSupplier_Id = model.ProductSupplierId; req.EditUser = ckUserEmailId; req.IsAddSalesAgent = true; ProductSupplierSalesAgent newAgent = new ProductSupplierSalesAgent() { Company_Id = model.BranchCompanyId, Company_Code = model.BranchCompanyCode, Company_Name = model.BranchCompanyName }; req.Product.SalesAgent.Add(newAgent); SupplierSetRes res = supplierProviders.SetSupplierProduct(req, token).Result; var salesAgentId = res.SalesAgentId; //Call Bridge service to save Contact data in SQL databse ResponseStatus result = new ResponseStatus(); if (res.ResponseStatus != null) { if (res.ResponseStatus.Status.ToLower() == "success") { SetProductSalesAgent_RQ request = new SetProductSalesAgent_RQ(); request.ProductSupplier_Id = model.ProductSupplierId; request.ProductSupplierSalesAgent_Id = salesAgentId; request.User = ckUserEmailId; result = supplierProviders.SetCompany_ProductSalesAgent(request, token).Result; status = result.Status; msg = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage; } else { status = "failure"; msg = res.ResponseStatus.ErrorMessage; } } } } else { status = "error"; msg = "Cannot insert existing company name"; } } else { status = "error"; msg = "Please Select Agent Name"; } return(Json(new { status = status, responseText = msg })); //return View(); }