private void CargarEnvio(OrdenCompra ordencompra, BuyerDataModelView data, int idSucursal = 0) { Envio e = new Envio(); DatosPersonales dp = db.Usuario.FirstOrDefault(d => d.idUsuario == WebSecurity.CurrentUserId).DatosPersonales; if (data.MetodoEntrega == MetodoEntrega.RetiroEnSucursal) { e.idDireccion = db.Sucursal.FirstOrDefault(s => s.idSucursal == idSucursal).idDireccion; } else { if (data.UsarDireccionDeContacto) { e.idDireccion = dp.idDireccion; e.fechaEntrega = new DateTime().AddDays(10); e.costoEnvio = GetCostoEnvio(dp.Direccion.Localidad); } else { e.costoEnvio = GetCostoEnvio(data.Direccion.Ciudad); e.Direccion = new Direccion() { codigoPostal = data.Direccion.CodigoPostal, direccion1 = data.Direccion.Calle + " " + data.Direccion.Numero, Localidad = db.Localidad.FirstOrDefault(ce => ce.localidad1.ToLower() == data.Direccion.Ciudad.ToLower()), }; e.fechaEntrega = new DateTime().AddDays(10); } } if (data.UsarDatosDeContacto) { e.nombre = dp.nombre; e.apellido = dp.apellido; e.telefono = dp.telefono; e.mail = dp.Usuario.First(u => u.idUsuario == WebSecurity.CurrentUserId).email; } else { e.nombre = data.Nombre; e.apellido = data.Apellido; e.telefono = data.Telefono; e.mail = data.Mail; } OrdenCompraEnvio oce = new OrdenCompraEnvio(); oce.Envio = e; oce.OrdenCompra = ordencompra; db.OrdenCompraEnvio.Add(oce); try { db.SaveChanges(); } catch (Exception ex) { throw ex; } //cambiar estado a la vaina }
private void CargarPago(BuyerDataModelView data, OrdenCompra oc) { Pago pago = new Pago(); pago.idEstadoPago = 1; pago.tipoPago = (int)data.MetodoDePago; pago.total = oc.OrdenCompraDetalle.Sum(detalle => detalle.cantidad * detalle.Producto.precioUnitario); pago.OrdenCompra.Add(oc); }
public ActionResult ShopCheckoutStep1(int id = 0) { db.OrdenCompra.Find(id).idEstadoOrden = 2; db.SaveChanges(); BuyerDataModelView data = new BuyerDataModelView(); ViewData.Add("sc", db.Sucursal.ToList()); ViewData.Add("dp", db.Usuario.FirstOrDefault(d => d.idUsuario == WebSecurity.CurrentUserId).DatosPersonales); return(View(data)); }
public ActionResult ShopCheckoutStep1(BuyerDataModelView data, FormCollection collection) { if (ModelState.IsValid) { OrdenCompra ordencompra = db.OrdenCompra.FirstOrDefault(oc => oc.OrdenCompraEstado.idEstadoOrden == 2 && oc.idUsuario == WebSecurity.CurrentUserId); CargarPago(data, ordencompra); CargarEnvio(ordencompra, data, Convert.ToInt32(collection["idSucursal"])); return(RedirectToAction("ShopCheckoutStep4", "OrdenCompra", new { id = ordencompra.idOrdenCompra })); } ModelState.AddModelError("", "Se produjo un error cuando se procesaba la solicitud"); ViewData.Add("sc", db.Sucursal.ToList()); ViewData.Add("dp", db.Usuario.FirstOrDefault(d => d.idUsuario == WebSecurity.CurrentUserId).DatosPersonales); return(View(data)); }