public UserServiceDetailList GetUserServiceDetail(int OrderId) { UserServicesDetail eUserServiceDetail = new UserServicesDetail(); UserServiceDetailList bUserServiceDetail = new UserServiceDetailList(); List <UserServiceDetailList> bUserServiceDetailList = new List <UserServiceDetailList>(); try { using (obj = new MotorMechsEntities()) { bUserServiceDetailList = obj.Services.Join(obj.UserServicesDetails, s => s.Id, usd => usd.UserSeviceId, (s, usd) => new { s, usd }) .Where(u => (u.usd.OrderServiceId == OrderId && u.usd.IsActive == true)) .Select(z => new UserServiceDetailList { UserSeviceId = z.usd.Id, UserSeviceName = z.s.Name, OrderServiceId = z.usd.OrderServiceId.Value }).ToList(); if (bUserServiceDetailList.Count > 0)// Service Persent { bUserServiceDetail.List = bUserServiceDetailList; bUserServiceDetail.Message = "Record Found"; bUserServiceDetail.Status = true; } else // No Services { bUserServiceDetail.List = bUserServiceDetailList; bUserServiceDetail.Message = "No Record Found"; bUserServiceDetail.Status = true; } } } catch (Exception e) { bUserServiceDetail.List = null; bUserServiceDetail.Message = "Some Error Occued"; bUserServiceDetail.Status = false; } return(bUserServiceDetail); }
public Services AddServices(NewServiceModel NewService) { List <ServiceIds> Services = NewService.Services; // (Newtonsoft.Json.JsonConvert.DeserializeObject<List<ServiceIds>>(array[0].ToString())); Vehicles bVehicle = NewService.VehicleViewModel; // Newtonsoft.Json.JsonConvert.DeserializeObject<Vehicles>(array[1].ToString()); string PickNDrop = NewService.PickNDrop; // Newtonsoft.Json.JsonConvert.DeserializeObject(array[2].ToString()).ToString(); int UserId = NewService.UserId; // Convert.ToInt32(Newtonsoft.Json.JsonConvert.DeserializeObject(array[3].ToString())); int vehicelId = 0; Services t = new Services(); // Starting the transaction using (TransactionScope ts = new TransactionScope()) { try { //creating contaxt using (obj = new MotorMechsEntities()) { //using (var dbContextTransaction = obj.Database.Connection.BeginTransaction()) // { // checking the vehicle if (bVehicle.Id == 0) { Vehicle v = obj.Vehicles.Where(s => s.Owner == UserId && s.Number == bVehicle.Number).SingleOrDefault(); if (v == null) // vehicle not present for this user { var eVehicles = AutoMapper.Mapper.Map <Vehicle>(bVehicle); eVehicles.CreatedDate = DateTime.Now; eVehicles.CreatedBy = UserId; eVehicles.Owner = UserId; eVehicles.IsActive = true; obj.Vehicles.Add(eVehicles); obj.SaveChanges(); vehicelId = eVehicles.Id; } else { vehicelId = v.Id; } } else { vehicelId = bVehicle.Id; } // Save data into the service model UserService uService = new UserService(); uService.UserId = UserId; uService.VehicleId = vehicelId; uService.CreatedDate = DateTime.Now; uService.PickNDrop = PickNDrop == "True" ? true : false; uService.IsActive = true; obj.UserServices.Add(uService); obj.SaveChanges(); int OrderServiceId = uService.Id; // Saving the SeriveDetails foreach (ServiceIds ss in Services) { UserServicesDetail serviceDetail = new UserServicesDetail(); serviceDetail.ParentServiceId = Convert.ToInt32(ss.parent); serviceDetail.UserSeviceId = Convert.ToInt32(ss.id); serviceDetail.OrderServiceId = OrderServiceId; serviceDetail.CreatedBy = UserId; serviceDetail.IsActive = true; serviceDetail.CreatedDate = DateTime.Now; obj.UserServicesDetails.Add(serviceDetail); obj.SaveChanges(); } // Completing the transaction ts.Complete(); t.Message = "Record Saved"; t.Status = true; // } } } catch (Exception e) { t.Message = "Some error occured"; t.Status = false; } } return(t); }