public ActionResult Clone([Bind(Include = "CargoFormID,ReceiptDate,CommunicationID,Customer,Departure,Destination,CargoDescription,CargoCode,RollingStockID,Cost,ResponseDate,Note,Feedback,TrafficClassificationID,DirectionID,ResidencyID,СurrentUserId,CurrencyID")] CargoForm cargoForm)
        {
            if (ModelState.IsValid)
            {
                //db.Entry(cargoForm).State = EntityState.Modified;
                db.CargoForms.Add(cargoForm);
                if (User.Identity.IsAuthenticated) //gather info about current user
                {
                    string          currentUserId   = User.Identity.GetUserId();
                    ApplicationUser applicationUser = db.Users.FirstOrDefault(x => x.Id == currentUserId);
                    string          currentUser     = applicationUser.UserName;

                    cargoForm.СurrentUserId = currentUser;
                }

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CommunicationID         = new SelectList(db.CommunicationMethods, "CommunicationID", "CommunicationName", cargoForm.CommunicationID);
            ViewBag.DirectionID             = new SelectList(db.Directions, "DirectionID", "DirectionName", cargoForm.DirectionID);
            ViewBag.ResidencyID             = new SelectList(db.Residencies, "ResidencyID", "ResidencyName", cargoForm.ResidencyID);
            ViewBag.RollingStockID          = new SelectList(db.RollingStockTypes, "RollingStockID", "RollingStockName", cargoForm.RollingStockID);
            ViewBag.TrafficClassificationID = new SelectList(db.TrafficClassifications, "TrafficClassificationID", "TrafficClassificationName", cargoForm.TrafficClassificationID);
            ViewBag.CurrencyID = new SelectList(db.Currencies, "CurrencyID", "CurrencyName", cargoForm.CurrencyID);

            return(View(cargoForm));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            CargoForm cargoForm = db.CargoForms.Find(id);

            db.CargoForms.Remove(cargoForm);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult editar(int?id)
        {
            CargoForm ViewModel = new CargoForm();

            var OCargo = this.OCargoBL.carregar(UtilNumber.toInt32(id)) ?? new Cargo();

            ViewModel.Cargo = OCargo;

            return(View(ViewModel));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CargoForm cargoForm = db.CargoForms.Find(id);

            if (cargoForm == null)
            {
                return(HttpNotFound());
            }
            return(View(cargoForm));
        }
        public ActionResult Clone(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CargoForm cargoForm = db.CargoForms.Find(id);

            if (cargoForm == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CommunicationID         = new SelectList(db.CommunicationMethods, "CommunicationID", "CommunicationName", cargoForm.CommunicationID);
            ViewBag.DirectionID             = new SelectList(db.Directions, "DirectionID", "DirectionName", cargoForm.DirectionID);
            ViewBag.ResidencyID             = new SelectList(db.Residencies, "ResidencyID", "ResidencyName", cargoForm.ResidencyID);
            ViewBag.RollingStockID          = new SelectList(db.RollingStockTypes, "RollingStockID", "RollingStockName", cargoForm.RollingStockID);
            ViewBag.TrafficClassificationID = new SelectList(db.TrafficClassifications, "TrafficClassificationID", "TrafficClassificationName", cargoForm.TrafficClassificationID);
            ViewBag.CurrencyID = new SelectList(db.Currencies, "CurrencyID", "CurrencyName", cargoForm.CurrencyID);
            return(View(cargoForm));
        }
        public ActionResult editar(CargoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            bool flagSucesso = this.OCargoBL.salvar(ViewModel.Cargo);

            if (flagSucesso)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, UtilMessage.success("Sucesso!", "Os dados foram salvos com sucesso."));

                return(RedirectToAction("editar", new { id = ViewModel.Cargo.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, UtilMessage.error("Erro!", "Houve um problema ao salvar o registro. Tente novamente."));

            return(View(ViewModel));
        }