public async Task <SupplierGetRes> GetNoOfBookingsForSupplier(SupplierGetReq request) { try { SupplierGetRes res = new SupplierGetRes(); List <Bookings> response = new List <Bookings>(); var prodidlist = request.bookingCount.Select(a => a.ProductId).ToList(); response = _MongoContext.Bookings.AsQueryable().Where(x => x.Positions != null && x.Positions.Count() > 0 && x.Positions.Any(z => z.SupplierInfo != null && prodidlist.Contains(z.Product_Id))).ToList(); var count = 0; foreach (var a in response) { var bookingres = request.bookingCount.Where(b => a.Positions.Select(c => c.Product_Id).ToList().Contains(b.ProductId) && a.Positions.Any(c => c.SupplierInfo.Id == b.SupplierId)).FirstOrDefault(); if (bookingres != null) { count++; request.bookingCount.Where(b => b.SupplierId == bookingres.SupplierId && b.ProductId == bookingres.ProductId).FirstOrDefault().TotalCount = count; } } res.BookingCount = request.bookingCount; return(res); } catch (Exception ex) { throw; } }
public async Task <SupplierGetRes> EnableDisableSupplierProduct(SupplierGetReq request) { SupplierGetRes response = new SupplierGetRes(); try { var supplier = _MongoContext.mCompanies.AsQueryable().Where(x => x.Company_Id == request.CompanyId).FirstOrDefault(); foreach (var p in supplier.Products) { if (p.ProductSupplier_Id == request.ProductSupplierId) { p.SupplierStatus = request.Status; p.EditUser = request.EditUser; p.EditDate = DateTime.Now; } } await _MongoContext.mCompanies.UpdateOneAsync(Builders <mCompanies> .Filter.Eq("Company_Id", supplier.Company_Id), Builders <mCompanies> .Update.Set("Products", supplier.Products) .Set("EditUser", request.EditUser).Set("EditDate", DateTime.Now)); response.ResponseStatus.Status = "Success"; response.ResponseStatus.StatusMessage = "Details updated successfully."; } catch (Exception ex) { Console.WriteLine(ex.Message); response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = ex.Message; } return(response); }
public async Task <SupplierGetRes> EnableDisableSupplierProduct(SupplierGetReq supplierGetReq, string ticket) { SupplierGetRes supplierGetRes = new SupplierGetRes(); supplierGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("SupplierService:EnableDisableSupplierProduct"), supplierGetReq, typeof(SupplierGetRes), ticket); return(supplierGetRes); }
public async Task <SupplierGetRes> GetNoOfBookingsForSupplier(SupplierGetReq supplierGetReq, string ticket) { SupplierGetRes supplierGetRes = new SupplierGetRes(); supplierGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("SupplierService:GetNoOfBookingsForSupplier"), supplierGetReq, typeof(SupplierGetRes), ticket); return(supplierGetRes); }
public IActionResult EnableDisableProduct(string CompanyId, string ProductSupplierId, string Status) { try { var status = ""; var msg = ""; #region Set Supplier Product status if (Status == "Active") { Status = "X"; } else { Status = " "; } SupplierGetReq req = new SupplierGetReq() { CompanyId = CompanyId, ProductSupplierId = ProductSupplierId, Status = Status, EditUser = ckUserEmailId }; SupplierGetRes res = supplierProviders.EnableDisableSupplierProduct(req, token).Result; //Call Bridge service to save Contact 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 = ProductSupplierId; request.User = ckUserEmailId; result = supplierProviders.SetCompany_Product(request, token).Result; status = result.Status; msg = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage; } else { status = "failure"; msg = res.ResponseStatus.ErrorMessage; } } return(Json(new { })); #endregion } catch (Exception ex) { throw; } }
public async Task <SupplierGetRes> EnableDisableSupplierProduct([FromBody] SupplierGetReq request) { var response = new SupplierGetRes(); try { response = await _supplierRepository.EnableDisableSupplierProduct(request); response.ResponseStatus.Status = response.ResponseStatus.Status == null ? "Success" : response.ResponseStatus.Status; response.ResponseStatus.ErrorMessage = response.ResponseStatus.ErrorMessage == null ? "" : response.ResponseStatus.ErrorMessage; } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message; } return(response); }
public async Task <SupplierGetRes> GetNoOfBookingsForSupplier([FromBody] SupplierGetReq request) { var response = new SupplierGetRes(); try { response = await _supplierRepository.GetNoOfBookingsForSupplier(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 <SupplierGetRes> GetSupplierData(SupplierGetReq request) { SupplierGetRes response = new SupplierGetRes(); try { var UserCompany_Id = _MongoContext.mUsers.AsQueryable().Where(x => x.VoyagerUser_Id == request.UserId).Select(y => y.Company_Id).FirstOrDefault(); var AdminRoleId = _MongoContext.mRoles.AsQueryable().Where(x => x.LoweredRoleName == "administrator").Select(y => y.Voyager_Role_Id).FirstOrDefault(); var AdminRole = _MongoContext.mUsersInRoles.AsQueryable().Where(x => x.UserId == request.UserId && x.RoleId == AdminRoleId).FirstOrDefault(); FilterDefinition <mCompanies> filter; filter = Builders <mCompanies> .Filter.Empty; if (AdminRole == null) //means user is not an Admin { var CoreCompany_Id = _MongoContext.mSystem.AsQueryable().Select(y => y.CoreCompany_Id).FirstOrDefault(); if (UserCompany_Id == CoreCompany_Id) { if (!string.IsNullOrWhiteSpace(CoreCompany_Id)) { filter = filter & Builders <mCompanies> .Filter.Where(x => x.Company_Id != CoreCompany_Id); } } else { if (!string.IsNullOrWhiteSpace(UserCompany_Id)) { filter = filter & Builders <mCompanies> .Filter.Where(x => x.ParentAgent_Id == UserCompany_Id); } } } if (!string.IsNullOrWhiteSpace(request.SupplierName)) { filter = filter & Builders <mCompanies> .Filter.Where(x => x.Name.Trim().ToLower().Contains(request.SupplierName.Trim().ToLower()) && x.Issupplier == true); } if (!string.IsNullOrWhiteSpace(request.SupplierCode)) { filter = filter & Builders <mCompanies> .Filter.Where(x => x.CompanyCode.ToLower().Contains(request.SupplierCode.Trim().ToLower()) && x.Issupplier == true); } if (request.CountryId.HasValue && !(request.CountryId.Value == Guid.Empty)) { filter = filter & Builders <mCompanies> .Filter.Where(x => x.Country_Id == Convert.ToString(request.CountryId)); } if (request.CityId.HasValue && !(request.CityId.Value == Guid.Empty)) { filter = filter & Builders <mCompanies> .Filter.Where(x => x.City_Id == Convert.ToString(request.CityId)); } if (!string.IsNullOrWhiteSpace(request.ProductType)) { filter = filter & Builders <mCompanies> .Filter.Where(x => x.Products.Any(y => y.ProductType.Contains(request.ProductType))); } if (!string.IsNullOrWhiteSpace(request.Status) && request.Status.ToLower() == "inactive") { filter = filter & Builders <mCompanies> .Filter.Where(x => x.STATUS != "" && x.STATUS != " "); } else { filter = filter & Builders <mCompanies> .Filter.Where(x => x.STATUS == "" || x.STATUS == " "); } filter = filter & Builders <mCompanies> .Filter.Where(x => x.Issupplier == true); var result = await _MongoContext.mCompanies.Find(filter).Sort("{Name: 1}").Skip(request.Start).Limit(request.Length).Project(x => new SupplierList { CompanyId = x.Company_Id, CityId = x.City_Id, City = x.CityName, CountryId = x.Country_Id, Country = x.CountryName, Code = x.CompanyCode, Name = x.Name, Status = x.STATUS, IsSupplier = x.Issupplier }).ToListAsync(); if (result.Count > 0) { response.SupplierTotalCount = Convert.ToInt32(_MongoContext.mCompanies.Find(filter).Count()); } response.SupplierList = result; //response.SupplierList = result.OrderBy(x => x.Name).ToList(); return(response); } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; } return(response); }
public ActionResult LoadData(string CompanyId, int draw, int start, int length) { List <SupplierProducts> products = new List <SupplierProducts>(); #region Get Company info AgentGetReq request = new AgentGetReq() { CompanyId = CompanyId, Start = start, Length = (length == 0) ? 10 : length }; AgentGetRes response = agentProviders.GetAgentDetailedInfo(request, token).Result; #endregion if (response.AgentDetails.Products != null && response.AgentDetails.Products.Count > 0) { #region Get Booking info List <BookingCount> list = new List <BookingCount>(); foreach (var a in response.AgentDetails.Products) { BookingCount b = new BookingCount(); b.ProductId = a.Product_Id; b.SupplierId = a.Supplier_Id; list.Add(b); } SupplierGetReq request1 = new SupplierGetReq() { CompanyId = CompanyId, bookingCount = list }; SupplierGetRes response1 = supplierProviders.GetNoOfBookingsForSupplier(request1, token).Result; #endregion #region Data binding foreach (var p in response.AgentDetails.Products) { SupplierProducts prod = new SupplierProducts(); prod.ProductId = p.Product_Id; prod.ProductType = p.ProductType; prod.ProductSupplierId = p.ProductSupplier_Id; prod.Code = p.ProductCode; prod.Name = p.ProductName; prod.Status = string.IsNullOrWhiteSpace(p.SupplierStatus) ? "Active" : "Inactive"; prod.Type = p.ProductType; prod.Country = p.Country; prod.City = p.City; prod.Default = (p.IsDefault == null || p.IsDefault == false) ? "N" : "Y"; prod.Preferred = (p.IsPreferred == null || p.IsPreferred == false) ? "N" : "Y"; prod.Usage = response1.BookingCount.Where(x => x.ProductId == p.Product_Id).Select(x => x.TotalCount).FirstOrDefault(); //bookinglist.Where(x => x.Positions.Any(y => y.Product_Id == p.Product_Id && y.SupplierInfo.Id == p.Supplier_Id)).Count(); products.Add(prod); } //products = products.OrderBy(x => x.Name).ToList(); #endregion } return(Json(new { draw = draw, recordsTotal = response.ProductsTotalCount, recordsFiltered = response.ProductsTotalCount, data = products })); }