public FrayteResult SaveShipper(FrayteShipperReceiver frayteUser) { FrayteResult result = new FrayteResult(); FrayteUserRepository userRepository = new FrayteUserRepository(); //Step 1: Save User Detail userRepository.SaveUserDetail(frayteUser); //Step 2: Save user role userRepository.SaveUserRole(frayteUser.UserId, (int)FrayteUserRole.Shipper); //Step 3: Save User Address information frayteUser.UserAddress.AddressTypeId = (int)FrayteAddressType.MainAddress; frayteUser.UserAddress.UserId = frayteUser.UserId; userRepository.SaveUserAddress(frayteUser.UserAddress); //Step 4: Save Shipper Pickup address information if (frayteUser.PickupAddresses != null && frayteUser.PickupAddresses.Count > 0) { foreach (FrayteAddress address in frayteUser.PickupAddresses) { address.AddressTypeId = (int)FrayteAddressType.OtherAddress; address.UserId = frayteUser.UserId; userRepository.SaveUserAddress(address); } } result.Status = true; return(result); }
public FrayteShipperReceiver GetShipperDetail(int shipperId) { FrayteShipperReceiver shippersDetail = new FrayteShipperReceiver(); shippersDetail = new ShipperRepository().GetShipperDetail(shipperId); return(shippersDetail); }
public FrayteShipperReceiver GetReceiverDetail(int receiverId) { FrayteShipperReceiver receiverDetail = new FrayteShipperReceiver(); receiverDetail = new ReceiverRepository().GetReceiverDetail(receiverId); return(receiverDetail); }
public IHttpActionResult SaveReceiver(FrayteShipperReceiver receiverDetail) { FrayteResult result = new ReceiverRepository().SaveReceiver(receiverDetail); // Link Receiver To Shipper ReceiverShipper receiverShipper = new ReceiverShipper(); receiverShipper.ReceiverId = receiverDetail.UserId; new ReceiverRepository().SaveReceiverShippers(receiverShipper); if (result != null) { return(Ok(result)); } else { return(NotFound()); } }
public List <FrayteShipperReceiver> GetShippers(DataTable exceldata) { List <FrayteShipperReceiver> shippers = new List <FrayteShipperReceiver>(); FrayteShipperReceiver shipper; foreach (DataRow shipmentdetail in exceldata.Rows) { shipper = new FrayteShipperReceiver(); shipper.UserId = 0; shipper.RoleId = (int)FrayteUserRole.Shipper; shipper.CompanyName = shipmentdetail["CompanyName"].ToString(); shipper.ContactName = shipmentdetail["ContactName"].ToString(); shipper.ShortName = shipmentdetail["ShortName"].ToString(); shipper.Email = shipmentdetail["Email"].ToString(); shipper.TelephoneNo = shipmentdetail["TelephoneNo"].ToString(); shipper.MobileNo = shipmentdetail["MobileNo"].ToString(); shipper.FaxNumber = shipmentdetail["FaxNumber"].ToString(); shipper.WorkingStartTime = Convert.ToDateTime(shipmentdetail["WorkingStartTime"]); shipper.WorkingEndTime = Convert.ToDateTime(shipmentdetail["WorkingEndTime"]); shipper.WorkingWeekDay = new WorkingWeekDay(); string workingDay = shipmentdetail["WorkingWeekDay"].ToString(); var workingWeekDayResult = dbContext.WorkingWeekDays.Where(p => p.Description == workingDay).FirstOrDefault(); if (workingWeekDayResult != null) { shipper.WorkingWeekDay = workingWeekDayResult; } else { shipper.WorkingWeekDay.Description = shipmentdetail["WorkingWeekDay"].ToString(); } shipper.Timezone = new TimeZoneModal(); string weekTimezone = shipmentdetail["Timezone"].ToString(); var timeZoneResult = dbContext.Timezones.Where(p => p.Name == weekTimezone).FirstOrDefault(); if (timeZoneResult != null) { shipper.Timezone.TimezoneId = timeZoneResult.TimezoneId; shipper.Timezone.Name = timeZoneResult.Name; shipper.Timezone.Offset = timeZoneResult.Offset; shipper.Timezone.OffsetShort = timeZoneResult.OffsetShort; } else { shipper.Timezone.Name = shipmentdetail["Timezone"].ToString(); } shipper.VATGST = shipmentdetail["VATGST"].ToString(); shipper.CreatedOn = DateTime.UtcNow; FrayteAddress shipperAddress = new FrayteAddress(); shipperAddress.Address = shipmentdetail["Address"].ToString(); shipperAddress.Address2 = shipmentdetail["Address2"].ToString(); shipperAddress.Address3 = shipmentdetail["Address3"].ToString(); shipperAddress.Suburb = shipmentdetail["Suburb"].ToString(); shipperAddress.City = shipmentdetail["City"].ToString(); shipperAddress.State = shipmentdetail["State"].ToString(); shipperAddress.Zip = shipmentdetail["Zip"].ToString(); shipperAddress.Country = new FrayteCountryCode(); string countryName = shipmentdetail["Country"].ToString(); var country = dbContext.Countries.Where(p => p.CountryName == countryName).FirstOrDefault(); if (country != null) { shipperAddress.Country.CountryId = country.CountryId; shipperAddress.Country.Code = country.CountryCode; shipperAddress.Country.Name = country.CountryName; } else { shipperAddress.Country.Code = shipmentdetail["Country"].ToString(); } shipper.UserAddress = shipperAddress; shippers.Add(shipper); } return(shippers); }
public FrayteShipperReceiver GetShipperDetail(int shipperId) { FrayteShipperReceiver shipperReceiver = new FrayteShipperReceiver(); WorkingWeekDay workingDays = new WorkingWeekDay(); //Step 1: Get Shipper basic information var shipper = dbContext.Users.Where(p => p.UserId == shipperId).FirstOrDefault(); if (shipper != null) { //Set User's bacic information shipperReceiver = UtilityRepository.ShipperReceiverMapping(shipper); // get Working Week day if (shipperReceiver.WorkingWeekDay.WorkingWeekDayId > 0) { workingDays = dbContext.WorkingWeekDays.Find(shipperReceiver.WorkingWeekDay.WorkingWeekDayId); } if (workingDays != null) { shipperReceiver.WorkingWeekDay = workingDays; } //Step 1.1: Get time zone var timeZone = dbContext.Timezones.Where(p => p.TimezoneId == shipper.TimezoneId).FirstOrDefault(); if (timeZone != null) { shipperReceiver.Timezone = new TimeZoneModal(); shipperReceiver.Timezone.TimezoneId = timeZone.TimezoneId; shipperReceiver.Timezone.Name = timeZone.Name; shipperReceiver.Timezone.Offset = timeZone.Offset; shipperReceiver.Timezone.OffsetShort = timeZone.OffsetShort; } //Step 2: Get Shipper's Address information var shipperAddress = dbContext.UserAddresses.Where(p => p.UserId == shipperId).ToList(); if (shipperAddress != null) { shipperReceiver.PickupAddresses = new List <FrayteAddress>(); foreach (UserAddress address in shipperAddress) { if (address.AddressTypeId == (int)FrayteAddressType.MainAddress) { //Step 2.1: Set Shipper.ShipperAddress shipperReceiver.UserAddress = new FrayteAddress(); shipperReceiver.UserAddress = UtilityRepository.UserAddressMapping(address); //Step : Get country information var country = dbContext.Countries.Where(p => p.CountryId == address.CountryId).FirstOrDefault(); if (country != null) { shipperReceiver.UserAddress.Country = new FrayteCountryCode(); shipperReceiver.UserAddress.Country.CountryId = country.CountryId; shipperReceiver.UserAddress.Country.Code = country.CountryCode; shipperReceiver.UserAddress.Country.Name = country.CountryName; shipperReceiver.UserAddress.Country.TimeZoneDetail = new TimeZoneModal(); if (country.TimeZoneId != null && country.TimeZoneId > 0) { var time = dbContext.Timezones.Find(country.TimeZoneId); shipperReceiver.UserAddress.Country.TimeZoneDetail.Name = time.Name; shipperReceiver.UserAddress.Country.TimeZoneDetail.Offset = time.Offset; shipperReceiver.UserAddress.Country.TimeZoneDetail.OffsetShort = time.OffsetShort; shipperReceiver.UserAddress.Country.TimeZoneDetail.TimezoneId = time.TimezoneId; } } } else { //Step 2.2: Set Agent's other addresses FrayteAddress otherAddress = UtilityRepository.UserAddressMapping(address); //Step : Get country information var country = dbContext.Countries.Where(p => p.CountryId == otherAddress.Country.CountryId).FirstOrDefault(); if (country != null) { otherAddress.Country = new FrayteCountryCode(); otherAddress.Country.CountryId = country.CountryId; otherAddress.Country.Code = country.CountryCode; otherAddress.Country.Name = country.CountryName; otherAddress.Country.TimeZoneDetail = new TimeZoneModal(); if (country.TimeZoneId != null && country.TimeZoneId > 0) { var time = dbContext.Timezones.Find(country.TimeZoneId); otherAddress.Country.TimeZoneDetail.Name = time.Name; otherAddress.Country.TimeZoneDetail.Offset = time.Offset; otherAddress.Country.TimeZoneDetail.OffsetShort = time.OffsetShort; otherAddress.Country.TimeZoneDetail.TimezoneId = time.TimezoneId; } } shipperReceiver.PickupAddresses.Add(otherAddress); } } } } return(shipperReceiver); }