private void SaveOrder(OrderHeader objOrder) { try { BaseEntity objEntity = new BaseEntity(); tBaseDetailOrderList objListDetail = new tBaseDetailOrderList(); for (int i = 0; i < objOrder.ListOrderDetail.Count; i++) { objListDetail.Add(new tBaseDetailOrder() { ProductId = objOrder.ListOrderDetail[i].Product.ID, Price = objOrder.ListOrderDetail[i].Product.UnitPrice, Quantity = objOrder.ListOrderDetail[i].Quantity, PriceOffer = objOrder.ListOrderDetail[i].Product.PriceOffer, Status = Convert.ToByte(EnumStatus.Enabled) }); } Boolean success; if (objOrder.ID == 0) { objOrder.Status = Convert.ToByte(EnumOrderStatus.PendienteEntrega); objOrder.PaymentStatus = Convert.ToByte(EnumPaymentStatus.PendientePago); success = OrderBL.Instance.Insertar_Pedido(ref objEntity, ref objOrder, objListDetail); if (objEntity.Errors.Count == 0) { if (success) { Response.Redirect("Confirmation.aspx", false); } else { this.Message(EnumAlertType.Info, "No se pudo guardar la Orden"); return; } } else { this.Message(EnumAlertType.Info, objEntity.Errors[0].Error.Message); return; } } else { this.Message(EnumAlertType.Info, "No se pudo guardar la Orden"); } } catch (Exception ex) { this.Message(EnumAlertType.Error, "Ocurrio un error al guardar la Orden"); } }
public Boolean Insertar_Pedido(ref BaseEntity objBase, ref OrderHeader objOrder, tBaseDetailOrderList objDetail) { SqlCommand cmd = null; Boolean success; try { cmd = new SqlCommand("Order_Save_Sp", clsConnection.GetConnection()); cmd.CommandType = CommandType.StoredProcedure; SqlParameter parmIdPedidoOut = cmd.Parameters.Add("@OrderId", SqlDbType.Int); parmIdPedidoOut.Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@CustomerId", objOrder.Customer.CustomerId); cmd.Parameters.AddWithValue("@Total", objOrder.Ordertotal); cmd.Parameters.AddWithValue("@IgvTotal", objOrder.IGV); cmd.Parameters.AddWithValue("@SubTotal", objOrder.SubTotal); cmd.Parameters.AddWithValue("@IsCotization", objOrder.IsCotization); cmd.Parameters.AddWithValue("@Description", objOrder.Description); cmd.Parameters.AddWithValue("@Status", objOrder.Status); cmd.Parameters.Add(new SqlParameter { ParameterName = "@TY_OrderDetail", Value = objDetail, SqlDbType = SqlDbType.Structured, TypeName = "TY_OrdersDetail" }); cmd.ExecuteReader(); success = true; if (!cmd.Parameters["@OrderId"].Value.ToString().Equals(string.Empty)) { objOrder.OrderId = Convert.ToInt32(cmd.Parameters["@OrderId"].Value); } } catch (Exception ex) { success = false; objBase.Errors.Add(new BaseEntity.ListError(ex, "A ocurrido un error al guardar la Orden.")); } finally { clsConnection.DisposeCommand(cmd); } return(success); }
public Boolean Insertar_Pedido(ref BaseEntity objEntity, ref OrderHeader objOrder, tBaseDetailOrderList objDetail) { Boolean success; try { objEntity = new BaseEntity(); success = OrderDao.Instance.Insertar_Pedido(ref objEntity, ref objOrder, objDetail); } catch (Exception ex) { success = false; objEntity.Errors.Add(new BaseEntity.ListError(ex, "An error occurred on application level 2")); } return(success); }
public static object RegistroOrden(String clientes, String productos, String descripcion, String cantidad, String precio, String estado) { Object objReturn = new Object(); BaseEntity objBase = new BaseEntity(); try { #region Obtener Cliente JavaScriptSerializer sr = new JavaScriptSerializer(); List <String> lstClientesString = sr.Deserialize <List <String> >(clientes); List <Int32> lstClientesInt = new List <Int32>(); if (lstClientesString.Count > 0) { if (lstClientesString[0].Equals("multiselect-all")) { lstClientesString.RemoveAt(0); } lstClientesInt = lstClientesString.Select(Int32.Parse).ToList(); } else { lstClientesInt.Insert(0, 0); } #endregion #region Obtener Producto JavaScriptSerializer srp = new JavaScriptSerializer(); List <String> lstProductString = srp.Deserialize <List <String> >(productos); List <Int32> lstProductsInt = new List <Int32>(); if (lstProductString.Count > 0) { if (lstProductString[0].Equals("multiselect-all")) { lstProductString.RemoveAt(0); } lstProductsInt = lstProductString.Select(Int32.Parse).ToList(); } else { lstProductsInt.Insert(0, 0); } #endregion Int32 CustomerId = (lstClientesInt.Count > 0) ? lstClientesInt[0] : 0; Int32 ProductId = (lstProductsInt.Count > 0) ? lstProductsInt[0] : 0; Decimal UnitPrice = Convert.ToDecimal(precio); Int32 Quantity = Convert.ToInt32(cantidad); Byte Status = Convert.ToByte(estado); AppResource obj = ResourceBL.Instance.AppResource_GetByID(ref objBase, ProductId); if (objBase.Errors.Count == 0) { if (obj != null) { OrderHeader orderHeader = new OrderHeader(); obj.NameResource = Config.Impremtawendomain + obj.NameResource; OrderDetail Detalle = new OrderDetail(); Detalle.Product = obj; Detalle.ProductId = ProductId; Detalle.Product.UnitPrice = UnitPrice; Detalle.Quantity = Quantity; Detalle.CreatedBy = CustomerId; Detalle.UpdatedBy = CustomerId; Detalle.Status = (Status == 1) ? Convert.ToByte(EnumStatus.Enabled) : Convert.ToByte(0); orderHeader.IsCotization = 1; orderHeader.Description = descripcion; orderHeader.ListOrderDetail.Add(Detalle); Detalle.CalculateTotalPricexProduct(); orderHeader.CalculateTotals(); orderHeader.Customer = new Customer(); orderHeader.Customer.CustomerId = CustomerId; tBaseDetailOrderList objListDetail = new tBaseDetailOrderList(); for (int i = 0; i < orderHeader.ListOrderDetail.Count; i++) { objListDetail.Add(new tBaseDetailOrder() { ProductId = orderHeader.ListOrderDetail[i].Product.Id, Price = orderHeader.ListOrderDetail[i].Product.UnitPrice, Quantity = orderHeader.ListOrderDetail[i].Quantity, CreatedBy = orderHeader.Customer.CustomerId, UpdatedBy = orderHeader.Customer.CustomerId, Status = Convert.ToByte(EnumStatus.Disabled) }); } Boolean success = OrderBL.Instance.Insertar_Pedido(ref objBase, ref orderHeader, objListDetail); if (success) { String UrlPaymentOrder = String.Format("{0}?ordid={1}", Config.impremtawendomainReview, HttpUtility.UrlEncode(Encryption.Encrypt(Convert.ToString(orderHeader.OrderId)))); objReturn = new { Result = "Ok", Msg = "Orden Registrada correctamente.", UrlPaymentOrder = UrlPaymentOrder }; } else { objReturn = new { Result = "NoOk", Msg = "No se pudo registrar la Orden.", }; } } } else { objReturn = new { Result = "NoOk", Msg = "No se pudo registrar la Orden.", }; } } catch (Exception exception) { objReturn = new { Result = "NoOk", Msg = "No se pudo registrar la Orden.", }; } return(objReturn); }