public JsonResult EvaluateInspection(InspectionModel model)
        {
            var request = db.Inspection.FirstOrDefault(x => x.Id == model.Id);

            if (request == null)
            {
                return(Json(new { Success = false, Message = "No record found!" }));
            }

            if (ModelState.IsValid)
            {
                request.StatusId    = model.StatusId;
                request.Reason      = model.Reason;
                request.OwnerUpdate = true;

                try
                {
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    return(Json(new { Success = false, ErrorMsg = ex.ToString() }));
                }
            }
            else
            {
                return(Json(new { Success = false, ErrorMsg = "Invalid Fields." }));
            }

            return(Json(new { Success = true, Message = "Evaluation Submitted Successfully" }));
        }
Beispiel #2
0
        public IHttpActionResult PutStore(int id, Store store)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            store.Id = id;
            if (id != store.Id)
            {
                return(BadRequest());
            }

            db.Entry(store).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StoreExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult Create([Bind(Include = "Id,Name,Address")] Store store)
        {
            if (ModelState.IsValid)
            {
                db.Stores.Add(store);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(store));
        }
Beispiel #4
0
        public ActionResult Create([Bind(Include = "Id,Name,Price")] Product product)
        {
            if (ModelState.IsValid)
            {
                db.Products.Add(product);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(product));
        }
Beispiel #5
0
        public ActionResult Create([Bind(Include = "SeatID,Ticket")] Seat seat)
        {
            if (ModelState.IsValid)
            {
                db.Seats.Add(seat);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(seat));
        }
Beispiel #6
0
        public ActionResult Movie_ID([Bind(Include = "Movie_ID,Movie_Name,Genre,Director,Movie_Length,Languages,ReleaseDate")] Movie movie)
        {
            if (ModelState.IsValid)
            {
                db.Movies.Add(movie);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(movie));
        }
Beispiel #7
0
        public ActionResult Create([Bind(Include = "Id,Name,Address")] Customer customer)
        {
            if (ModelState.IsValid)
            {
                db.Customers.Add(customer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(customer));
        }
Beispiel #8
0
        public ActionResult Add_Screen([Bind(Include = "Screen_ID,TheatreID,ScreenName,No_Of_Rows,No_Of_Columns")] Screen screen)
        {
            if (ModelState.IsValid)
            {
                db.Screens.Add(screen);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.TheatreID = new SelectList(db.Theatres, "Theatre_ID", "Theatre_ID", screen.TheatreID);
            return(View(screen));
        }
        public ActionResult Add_Theatre([Bind(Include = "Theatre_ID,Theatre_Name,Theatre_City,MovieID,Manager_Name,Manager_Contact")] Theatre theatre)
        {
            if (ModelState.IsValid)
            {
                db.Theatres.Add(theatre);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.MovieID = new SelectList(db.Movies, "Movie_ID", "Movie_ID", theatre.MovieID);
            return(View(theatre));
        }
Beispiel #10
0
        public ActionResult Create([Bind(Include = "Id,CustomerId,ProductId,StoreId,DateSold")] ProductSold productSold)
        {
            if (ModelState.IsValid)
            {
                db.ProductSolds.Add(productSold);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CustomerId = new SelectList(db.Customers, "Id", "Name", productSold.CustomerId);
            ViewBag.ProductId  = new SelectList(db.Products, "Id", "Name", productSold.ProductId);
            ViewBag.StoreId    = new SelectList(db.Stores, "Id", "Name", productSold.StoreId);
            return(View(productSold));
        }
Beispiel #11
0
        public ActionResult Add_Show([Bind(Include = "Show_ID,ShowStartTime,ShowEndTime,Seat_ID,ShowName,TheatreID,MovieName,ScreenID")] Show show)
        {
            if (ModelState.IsValid)
            {
                db.Shows.Add(show);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.MovieName = new SelectList(db.Movies, "Movie_ID", "Movie_Name", show.MovieName);
            ViewBag.ScreenID  = new SelectList(db.Screens, "Screen_ID", "ScreenName", show.ScreenID);
            ViewBag.Seat_ID   = new SelectList(db.Seats, "SeatID", "Ticket", show.Seat_ID);
            ViewBag.TheatreID = new SelectList(db.Theatres, "Theatre_ID", "Theatre_Name", show.TheatreID);
            return(View(show));
        }
Beispiel #12
0
 public static ServiceResponseResult AddPropertyOwnerMarketJob(JobMarketModel marketJob, Login login, HttpFileCollectionBase files = null, string serverPath = null)
 {
     using (var db = new KeysEntities())
     {
         var newMarketJob = new TenantJobRequest();
         newMarketJob.JobDescription = marketJob.JobDescription;
         newMarketJob.PropertyId     = marketJob.PropertyId;
         newMarketJob.JobStatusId    = 1; // should be OPEN
         newMarketJob.CreatedBy      = login.Email;
         newMarketJob.CreatedOn      = DateTime.UtcNow;
         newMarketJob.UpdatedOn      = DateTime.UtcNow;
         newMarketJob.UpdatedBy      = login.Email;
         newMarketJob.MaxBudget      = marketJob.MaxBudget;
         newMarketJob.OwnerId        = login.Id;
         newMarketJob.Title          = marketJob.Title;
         db.TenantJobRequest.Add(newMarketJob);
         try
         {
             db.SaveChanges();
             var mediaResult = AddMarketJobMedia(files, newMarketJob.Id, serverPath);
             return(mediaResult.IsSuccess ? new ServiceResponseResult {
                 IsSuccess = true
             }
                                         : new ServiceResponseResult {
                 IsSuccess = false, ErrorMessage = mediaResult.ErrorMessage
             });
         }
         catch (Exception)
         {
             return(new ServiceResponseResult {
                 IsSuccess = false, ErrorMessage = _error
             });
         }
     }
 }
Beispiel #13
0
        public static ServiceResponseResult QuoteViewed(int quoteId)
        {
            using (var db = new KeysEntities())
            {
                var quote = db.JobQuote.FirstOrDefault(x => x.Id == quoteId);
                if (quote == null)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false, ErrorMessage = "Can note find quote"
                    });
                }

                if (quote.IsViewed ?? false)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false
                    });
                }
                quote.IsViewed = true;
                try
                {
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception ex)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false, ErrorMessage = _error
                    });
                }
            }
        }
Beispiel #14
0
        public ActionResult Delete(int id)
        {
            using (var db = new KeysEntities())
            {
                var delPerson = db.Person.Find(id);
                // Moved this into the Else statement. Dmitry
                //var delPersonLogin = db.Login.Find(delPerson.LoginId);

                // Bug #1185
                // Changed AND to an OR. Dmitry
                if (delPerson == null || delPerson.IsActive == false)
                {
                    return(Json(new { Result = "norecord", Message = "Cannot find this record !" }));
                }

                else
                {
                    var delPersonLogin = db.Login.Find(delPerson.Id);

                    if (delPersonLogin.UserName == User.Identity.Name)
                    {
                        return(Json(new { Result = "ownrecord", Message = "Admin can not delete their record !" }));
                    }
                    else
                    {
                        delPerson.IsActive      = false;
                        delPersonLogin.IsActive = false;
                        db.SaveChanges();
                        return(Json(new { Result = "success", Message = "Record deleted successfully" }));
                    }
                }
            }
        }
Beispiel #15
0
 public static ServiceResponseResult RemoveJobQuoteMedia(IEnumerable <int> mediaIds)
 {
     using (var db = new KeysEntities())
     {
         foreach (var id in mediaIds)
         {
             var jobQuoteMedia = db.JobQuoteMedia.FirstOrDefault(x => x.Id == id);
             if (jobQuoteMedia != null)
             {
                 db.JobQuoteMedia.Remove(jobQuoteMedia);
             }
         }
         try {
             db.SaveChanges();
             return(new ServiceResponseResult {
                 IsSuccess = true
             });
         }
         catch (Exception ex)
         {
             return(new ServiceResponseResult {
                 IsSuccess = false
             });
         }
     }
 }
Beispiel #16
0
 public static ServiceResponseResult RemoveFromWatchlist(int marketJobId, Login login)
 {
     using (var db = new KeysEntities())
     {
         var result = new ServiceResponseResult {
             IsSuccess = false
         };
         var item = db.JobWatchList.FirstOrDefault(x => x.PersonId == login.Id && x.MarketJobId == marketJobId);
         if (item == null)
         {
             result.ErrorMessage = "Item not found!";
             return(result);
         }
         db.JobWatchList.Remove(item);
         try
         {
             db.SaveChanges();
             result.IsSuccess = true;
             return(result);
         }
         catch (Exception ex)
         {
             result.IsSuccess    = false;
             result.ErrorMessage = "Please try later!";
             return(result);
         }
     }
 }
        public static ServiceResponseResult DeleteRentallApllication(int rentalApplicationId)
        {
            var result = new ServiceResponseResult {
                IsSuccess = false
            };

            using (var db = new KeysEntities())
            {
                var deleteRentallApllication = db.RentalApplication.Where(x => x.Id == rentalApplicationId).First();
                if (deleteRentallApllication == null)
                {
                    var errorMsg = "Cannot locate the Rental application";
                    result.ErrorMessage = errorMsg;
                    return(result);
                }
                else
                {
                    deleteRentallApllication.IsActive = false;
                };
                try
                {
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception ex)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false, ErrorMessage = _error
                    });
                }
            }
        }
Beispiel #18
0
 public static PropertyExpense AddOnboardExpense(Login user, List <ExpenseViewModel> model, int PropertyId)
 {
     using (var db = new KeysEntities())
     {
         try
         {
             var newExpense = new PropertyExpense();
             foreach (ExpenseViewModel expense in model)
             {
                 newExpense.PropertyId  = PropertyId;
                 newExpense.Amount      = expense.Amount;
                 newExpense.Date        = expense.ExpenseDate;
                 newExpense.Description = expense.Description;;
                 newExpense.CreatedBy   = user.UserName;
                 newExpense.CreatedOn   = DateTime.Today;
                 db.PropertyExpense.Add(newExpense);
                 db.SaveChanges();
             }
             return(newExpense);
         }
         catch (Exception ex)
         {
             return(null);
         }
     }
 }
Beispiel #19
0
        //*************************************************************************************
        public static PropertyRepayment AddOnboardRepayment(Login user, List <RepaymentViewModel> model, int PropertyId)
        {
            using (var db = new KeysEntities())
            {
                try
                {
                    var newRepayment = new PropertyRepayment();
                    foreach (Service.Models.RepaymentViewModel repayment in model)
                    {
                        newRepayment.PropertyId    = PropertyId;
                        newRepayment.Amount        = repayment.Amount;
                        newRepayment.EndDate       = repayment.EndDate;
                        newRepayment.StartDate     = repayment.StartDate;
                        newRepayment.FrequencyType = repayment.FrequencyType;
                        newRepayment.CreatedBy     = user.UserName;
                        newRepayment.CreatedOn     = DateTime.Today;

                        db.PropertyRepayment.Add(newRepayment);
                        db.SaveChanges();
                    }
                    return(newRepayment);
                }
                catch (Exception)
                {
                    return(null);
                }
            }
        }
 public static bool SavePersonMedia(List <MediaModel> mediaData, int personId)
 {
     try
     {
         using (var db = new KeysEntities())
         {
             foreach (var item in mediaData)
             {
                 db.PersonMedia.Add(new PersonMedia()
                 {
                     IsActive    = true,
                     NewFilename = item.NewFileName,
                     OldFilename = item.OldFileName,
                     PersonId    = personId
                 });
             }
             db.SaveChanges();
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #21
0
        public static ServiceResponseResult DeleteWatchlistItemById(int watchlistId)
        {
            var result = new ServiceResponseResult {
                IsSuccess = false
            };

            using (var db = new KeysEntities())
            {
                var watchlist = db.JobWatchList.FirstOrDefault(x => x.Id == watchlistId);
                if (watchlist == null)
                {
                    result.IsSuccess    = false;
                    result.ErrorMessage = "Sorry, watchlist not found!";
                    return(result);
                }
                db.JobWatchList.Remove(watchlist);
                try
                {
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception ex)
                {
                    return(result);
                }
            }
        }
 public static ServiceResponseResult ActivateLogin(int loginId)
 {
     using (var db = new KeysEntities())
     {
         var login = db.Login.Where(x => x.Id == loginId).FirstOrDefault();
         if (login == null)
         {
             return(new ServiceResponseResult {
                 IsSuccess = false
             });
         }
         try
         {
             login.EmailConfirmed = true;
             login.IsActive       = true;
             db.SaveChanges();
             return(new ServiceResponseResult {
                 IsSuccess = true
             });
         }
         catch (Exception ex)
         {
             return(new ServiceResponseResult {
                 IsSuccess = false
             });
         }
     }
 }
 public static ServiceResponseResult ResetActivate(int loginId, string token)
 {
     using (var db = new KeysEntities())
     {
         var emailConfirmToken = Guid.NewGuid();
         var loginAgain        = AccountService.GetAwaitingActivateUserById(loginId, token);
         if (loginAgain != null)
         {
             try
             {
                 loginAgain.EmailConfirmationToken           = emailConfirmToken.ToString();
                 loginAgain.EmailConfirmationTokenExpiryDate = DateTime.Now.AddHours(2).ToUniversalTime();  // FOR TESTING PURPOSE VALIDITY SET FOR 2 HRS
                 db.Login.Attach(loginAgain);
                 db.Entry(loginAgain).State = EntityState.Modified;
                 db.SaveChanges();
                 return(new ServiceResponseResult {
                     IsSuccess = true, NewObject = loginAgain.EmailConfirmationToken
                 });
             }
             catch (Exception e)
             {
                 return(new ServiceResponseResult {
                     IsSuccess = false
                 });
             }
         }
         else
         {
             return(new ServiceResponseResult {
                 IsSuccess = false, ErrorMessage = "OOPS....!!!!You have clicked on the old activation link Or Your Account details are not correct"
             });
         }
     }
 }
        public static ServiceResponseResult ResetPasswordToken(ForgotPasswordViewModel model, string newToken)
        {
            using (var db = new KeysEntities())
            {
                try
                {
                    var user = db.Login.FirstOrDefault(x => x.Email == model.Email);
                    if (user == null)
                    {
                        return(new ServiceResponseResult {
                            IsSuccess = false, ErrorMessage = "This Email - ID is not registered in the system.Please register!"
                        });
                    }

                    user.ResetPasswordToken           = newToken;
                    user.ResetPasswordTokenExpiryDate = DateTime.Now.AddHours(2);
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false, ErrorMessage = _serverError
                    });
                }
            }
        }
Beispiel #25
0
 public static ServiceResponseResult AccepLandlordRequest(int requestId)
 {
     using (var db = new KeysEntities())
     {
         var request = db.PropertyRequest.Where(x => x.Id == requestId).FirstOrDefault();
         var rId     = request.RequestStatusId;
         if (rId == 2 || rId == 4 || rId == 5)
         {
             return(new ServiceResponseResult {
                 IsSuccess = true, ErrorMessage = "Can not update request!"
             });
         }
         request.RequestStatusId = 2;
         try
         {
             db.SaveChanges();
             return(new ServiceResponseResult {
                 IsSuccess = true
             });
         }
         catch (Exception ex)
         {
             return(new ServiceResponseResult {
                 IsSuccess = true, ErrorMessage = _error
             });
         }
     }
 }
Beispiel #26
0
 public static ServiceResponseResult DeclineRequest(RequestModel model, Login login)
 {
     using (var db = new KeysEntities())
     {
         var request = db.PropertyRequest.Where(x => x.Id == model.Id).First();
         var rId     = request.RequestStatusId;
         if (rId == 2 || rId == 4 || rId == 5)
         {
             return(new ServiceResponseResult {
                 IsSuccess = true, ErrorMessage = "Can not update request!"
             });
         }
         if (request != null)
         {
             request.Reason          = model.Reason;
             request.RequestStatusId = 5;
             request.UpdatedBy       = login.Id;
             request.UpdatedOn       = DateTime.UtcNow;
         }
         ;
         try
         {
             db.SaveChanges();
             return(new ServiceResponseResult {
                 IsSuccess = true
             });
         }
         catch (Exception)
         {
             return(new ServiceResponseResult {
                 IsSuccess = true, ErrorMessage = _error
             });
         }
     }
 }
Beispiel #27
0
        public static ServiceResponseResult AddTenantJobRequest(MarketJobModel model, Login login, HttpFileCollectionBase files = null)
        {
            using (var db = new KeysEntities())
            {
                try
                {
                    var request = db.PropertyRequest.Where(x => x.Id == model.RequestId).FirstOrDefault();
                    if (request == null)
                    {
                        return new ServiceResponseResult {
                                   IsSuccess = false, ErrorMessage = "No record found!"
                        }
                    }
                    ;
                    request.RequestStatusId = (int)JobRequestStatus.Accepted;
                    request.IsUpdated       = true;
                    var jobRequest = new TenantJobRequest
                    {
                        PropertyId     = model.PropertyId,
                        OwnerId        = login.Id,
                        JobDescription = model.JobDescription,
                        JobStatusId    = 1, //Bug #2031 (Part 3)
                        MaxBudget      = model.MaxBudget,
                        CreatedOn      = DateTime.UtcNow,
                        CreatedBy      = login.Email,
                        UpdatedOn      = DateTime.UtcNow,
                        UpdatedBy      = login.Email,
                        Title          = model.Title
                    };
                    db.TenantJobRequest.Add(jobRequest);
                    var mediaFiles = MediaService.SaveFiles(files, 5, AllowedFileType.Images).NewObject as List <MediaModel>;
                    mediaFiles.ForEach(x => jobRequest.TenantJobRequestMedia.Add(new TenantJobRequestMedia
                    {
                        NewFileName = x.NewFileName,
                        OldFileName = x.OldFileName,
                    }));
                    db.SaveChanges();
                    var perId = request.RecipientId;
                    if (perId.HasValue)
                    {
                        var addr = request.Property.Address;

                        var ten    = db.Person.FirstOrDefault(x => x.Id == perId);
                        var tenLog = ten.Login;
                        PropertyOwnerService.SendAcceptRequestEmail(ten.FirstName, tenLog.UserName, addr.ToAddressString());
                    }

                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception ex)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false, ErrorMessage = _error
                    });
                }
            }
        }
Beispiel #28
0
        public static ServiceResponseResult AddDIYJob(JobModel model, Login login, HttpFileCollectionBase files, string serverPath = null)
        {
            using (var db = new KeysEntities())
            {
                try
                {
                    var newDIYJob = new Job
                    {
                        PropertyId     = model.PropertyId,
                        JobDescription = model.JobDescription,
                        JobStatusId    = 2, // Should be in pending state as the job hasnt started yet
                        CreatedOn      = DateTime.UtcNow,
                        CreatedBy      = login.Email,
                        UpdatedOn      = DateTime.UtcNow,
                        UpdatedBy      = login.Email,
                        PercentDone    = 0,
                        OwnerId        = login.Id,
                        JobRequestId   = model.JobRequestId,
                        PaymentAmount  = 0,
                    };
                    db.Job.Add(newDIYJob);
                    var request = db.PropertyRequest.Where(x => x.Id == model.JobRequestId).FirstOrDefault();
                    request.RequestStatusId = (int)JobRequestStatus.Accepted;
                    request.IsUpdated       = true;
                    //foreach (int fileId in model.FilesCopy)
                    //{
                    //    var propertyRequestMedia1 = db.PropertyRequestMedia.Where(x => x.Id == fileId).FirstOrDefault();
                    //    var newDIYJobMedia = new JobMedia();

                    //    newDIYJobMedia.JobId = newDIYJob.Id;
                    //    newDIYJobMedia.NewFileName = propertyRequestMedia1.NewFileName;
                    //    newDIYJobMedia.OldFileName = propertyRequestMedia1.OldFileName;
                    //    newDIYJobMedia.PropertyId = newDIYJob.PropertyId;
                    //    db.JobMedia.Add(newDIYJobMedia);

                    //}

                    var mediaFiles = MediaService.SaveFiles(files, 5, AllowedFileType.Images).NewObject as List <MediaModel>;
                    mediaFiles.ForEach(x => newDIYJob.JobMedia.Add(new JobMedia
                    {
                        NewFileName = x.NewFileName,
                        OldFileName = x.OldFileName,
                    }));
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception ex)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false, ErrorMessage = _error
                    });
                }
            }
        }
Beispiel #29
0
        public static ServiceResponseResult EditMarketJob(MarketJobModel model, Login login, HttpFileCollectionBase files = null)
        {
            var result = new ServiceResponseResult {
                IsSuccess = false
            };

            using (var db = new KeysEntities())
            {
                var files1        = model.MediaFiles;
                var editMarketJob = db.TenantJobRequest.Where(x => x.Id == model.Id).FirstOrDefault();
                if (editMarketJob == null)
                {
                    var errorMsg = "Cannot locate the Job in the Market Place";
                    result.ErrorMessage = errorMsg;
                    return(result);
                }
                else
                {
                    editMarketJob.JobDescription = model.JobDescription;
                    editMarketJob.MaxBudget      = model.MaxBudget;
                    if (model.FilesRemoved != null)
                    {
                        model.FilesRemoved.ToList().ForEach(x =>
                        {
                            var media = db.TenantJobRequestMedia.FirstOrDefault(y => y.Id == x);
                            if (media != null)
                            {
                                db.TenantJobRequestMedia.Remove(media);
                                MediaService.RemoveMediaFile(media.NewFileName);
                            }
                        });
                    }
                    var fileList = MediaService.SaveFiles(files, 5 - editMarketJob.TenantJobRequestMedia.Count(), AllowedFileType.Images).NewObject as List <MediaModel>;
                    if (fileList != null)
                    {
                        fileList.ForEach(x => editMarketJob.TenantJobRequestMedia.Add(new TenantJobRequestMedia {
                            NewFileName = x.NewFileName, OldFileName = x.OldFileName
                        }));
                    }
                }
                try
                {
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false, ErrorMessage = _error
                    });
                }
            }
        }
        public IHttpActionResult PutSale(int id, Keys.Poco.Sale sale)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Sale dbSale = new Sale()
            {
                Id         = sale.Id,
                CustomerId = sale.CustomerId,
                ProductId  = sale.ProductId,
                StoreId    = sale.StoreId,
                Datesold   = sale.Datesold
            };

            sale.Id = id;
            if (id != dbSale.Id)
            {
                return(BadRequest());
            }

            db.Entry(dbSale).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SaleExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }