public DoorsPrices GetDoorPriceById(int Id) { DoorsPrices doorprice = new DoorsPrices(); string sql = @"[spGetDoorPriceById] '{0}'"; sql = string.Format(sql, Id); try { DataSet ds = new DataSet(); ds = _MB.CreaDS(ds, "DoorsPrices", sql, _CN); if (ds.Tables["DoorsPrices"].Rows.Count > 0) { foreach (DataRow item in ds.Tables["DoorsPrices"].Rows) { doorprice = new DoorsPrices() { Id = int.Parse(item["Id"].ToString()), PanelType = new Panel() { Id = int.Parse(item["IdDoorStyle"].ToString()), Description = item["DescripPanel"].ToString() }, Material = new Material() { Id = int.Parse(item["IdMaterial"].ToString()), Description = item["DescripMaterial"].ToString(), }, RailThickness = new RailThickness() { Id = int.Parse(item["IdRailThickness"].ToString()), Description = item["DescripRT"].ToString() }, BasePrice = decimal.Parse(item["BasePrice"].ToString()), AdditionalSFPrice = decimal.Parse(item["AdditionalSFPrice"].ToString()), VerticalBase1FLPrice = decimal.Parse(item["VerticalBase1FLPrice"].ToString()), VerticalAdditionalInchPrice = decimal.Parse(item["VerticalAdditionalInchPrice"].ToString()), HorizontalBase1FLPrice = decimal.Parse(item["HorizontalBase1FLPrice"].ToString()), HorizontalAdditionalInchPrice = decimal.Parse(item["HorizontalAdditionalInchPrice"].ToString()), Status = new Status() { Id = int.Parse(item["IdStatus"].ToString()), Description = item["DescripStatus"].ToString() }, CreationDate = (item["CreationDate"].ToString() != "") ? DateTime.Parse(item["CreationDate"].ToString()) : DateTime.Parse("01/01/1900"), ModificationDate = (item["ModificationDate"].ToString() != "") ? DateTime.Parse(item["ModificationDate"].ToString()) : DateTime.Parse("01/01/1900"), CreatorUser = int.Parse(item["CreatorUser"].ToString()), ModificationUser = int.Parse(item["ModificationUser"].ToString()), Picture = item["Picture"].ToString(), ProfilePicture = item["ProfilePicture"].ToString(), }; } } return(doorprice); } catch (Exception) { throw; } }
public int InsertDoorsPrices(DoorsPrices pDoorsPrices) { try { return(_AD.InsertDoorsPrices(pDoorsPrices)); } catch (Exception ex) { throw; } }
public bool UpdateDoorsPrices(DoorsPrices pDoorsPrices) { try { _AD.UpdateDoorsPrices(pDoorsPrices); return(true); } catch (Exception ex) { throw; } }
public void UpdateDoorsPrices(DoorsPrices pDoorsPrices) { string sql = @"[spUpdateDoorsPrices] '{0}', '{1}', '{2}', '{3}', '{4}', '{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}'"; sql = string.Format(sql, pDoorsPrices.Id, pDoorsPrices.PanelType.Id, pDoorsPrices.Material.Id, pDoorsPrices.RailThickness.Id, pDoorsPrices.BasePrice.ToString().Replace(',', '.'), pDoorsPrices.AdditionalSFPrice.ToString().Replace(',', '.'), pDoorsPrices.VerticalBase1FLPrice.ToString().Replace(',', '.'), pDoorsPrices.VerticalAdditionalInchPrice.ToString().Replace(',', '.'), pDoorsPrices.HorizontalBase1FLPrice.ToString().Replace(',', '.'), pDoorsPrices.HorizontalAdditionalInchPrice.ToString().Replace(',', '.'), pDoorsPrices.Status.Id, pDoorsPrices.ModificationUser, pDoorsPrices.Picture, pDoorsPrices.ProfilePicture); try { _MB.EjecutarSQL(_CN, sql); } catch (Exception err) { throw err; } }
public bool UpdateDoorxOrder(int pIdOrder, DoorxOrder pDoorsOrder, int pIdUser) { try { lnDecimals deci = new lnDecimals(); List <Decimals> listDeci = deci.GetAllDecimals(); lnDoorsPrices dp = new lnDoorsPrices(); lnDoorsxUser DU = new lnDoorsxUser(); lnOrder _LNOrder = new lnOrder(); Order Order = null; if (pDoorsOrder.TEMP == true) { Order = _LNOrder.GetTEMPorderById(pIdOrder); } else { Order = _LNOrder.GetOrderById(pIdOrder); } lnUser _LNUser = new lnUser(); Order.User = _LNUser.GetUserById(Order.User.Id); if (pDoorsOrder.TEMP == true) { Order.DoorxUser = DU.GetAllTEMPdxu().Where(x => x.Order.Id == Order.Id).FirstOrDefault(); } else { Order.DoorxUser = DU.GetAllDoorsxUser().Where(x => x.Order.Id == Order.Id).FirstOrDefault(); } Order.SubTotal = 0; Order.Quantity = 0; int Rail = 1; if (Order.DoorxUser.TopRail.Id == 3 || Order.DoorxUser.BottomRail.Id == 3 || Order.DoorxUser.DoorStyle.Id == 1009 || Order.DoorxUser.DoorStyle.Id == 1008) { Rail = 2; } int panel = Order.DoorxUser.Panel.Id; if (Order.DoorxUser.DoorStyle.Id == 1002) { Order.DoorxUser.Panel.Id = 5; } //else if (Order.DoorxUser.DoorStyle.Id == 1003) //{ // Order.DoorxUser.Panel.Id = 2; //} //if (Order.DoorxUser.Panel.Id == 2) //{ // panel = Order.DoorxUser.Panel.Id; //} if (Order.DoorxUser.DoorStyle.Id == 1010) { panel = 2; } //else //{ // if (Order.DoorxUser.Panel.Id == 3) // { // Order.DoorxUser.Panel.Id = 5; // } //} DoorsPrices DoorPrice = dp.GetDoorsPricesById(0, panel, Order.DoorxUser.Material.Id, Rail); decimal deciW = listDeci.Where(x => x.Id == pDoorsOrder.DecimalsWidth.Id).FirstOrDefault().Value; decimal deciH = listDeci.Where(x => x.Id == pDoorsOrder.DecimalsHeight.Id).FirstOrDefault().Value; decimal Width = pDoorsOrder.Width + deciW; decimal Height = pDoorsOrder.Height + deciH; decimal result = (((((Width * Height) / 12m) / 12m) - 1.5m) * DoorPrice.AdditionalSFPrice) + DoorPrice.BasePrice; if ((Order.DoorxUser.DoorStyle.Id == 1010)) { result = result / 100m * 80m; } if (result < DoorPrice.BasePrice) { result = DoorPrice.BasePrice * 2; if (Order.User.Descuento > 0) { decimal des = decimal.Parse(Order.User.Descuento.ToString()) / 100m; pDoorsOrder.TotalDescuento = result * des; result = result - (des * result); } if (pDoorsOrder.Descuento > 0) { decimal des = decimal.Parse(pDoorsOrder.Descuento.ToString()) / 100m; pDoorsOrder.TotalDescuento = result * des; result = result - (des * result); } else { if (Order.Descuento > 0) { decimal des = decimal.Parse(Order.Descuento.ToString()) / 100m; pDoorsOrder.Descuento = Order.Descuento; pDoorsOrder.TotalDescuento = result * des; result = result - (des * result); } } pDoorsOrder.ItemCost = result; pDoorsOrder.SubTotal = result * pDoorsOrder.Quantity; } else { result = result * 2; if (Order.User.Descuento > 0) { decimal des = decimal.Parse(Order.User.Descuento.ToString()) / 100m; pDoorsOrder.TotalDescuento = result * des; result = result - (des * result); } if (pDoorsOrder.Descuento > 0) { decimal des = decimal.Parse(pDoorsOrder.Descuento.ToString()) / 100m; pDoorsOrder.TotalDescuento = result * des; result = result - (des * result); } else { if (Order.Descuento > 0) { decimal des = decimal.Parse(Order.Descuento.ToString()) / 100m; pDoorsOrder.Descuento = Order.Descuento; pDoorsOrder.TotalDescuento = result * des; result = result - (des * result); } } pDoorsOrder.ItemCost = result; pDoorsOrder.SubTotal = result * pDoorsOrder.Quantity; } pDoorsOrder.DoorxUser = Order.DoorxUser; pDoorsOrder.ModificationDate = DateTime.Now; pDoorsOrder.ModificationUser = pIdUser; pDoorsOrder.ProfilePicture = DU.BuscarProfilePicture(Order.DoorxUser.OutsideEdgeProfile.Id, Order.DoorxUser.InsideEdgeProfile.Id, Order.DoorxUser.Panel.Id); pDoorsOrder.Picture = DU.BuscarDoorPicture(pDoorsOrder); int retorno = _AD.UpdateDoorsxOrder(pDoorsOrder); decimal subTotal = _AD.GetTotalDoorxOrderByDoorxUser(Order.DoorxUser.Id); int cantidad = _AD.GetAllDoorxOrderByDoorxUser(Order.DoorxUser.Id).Sum(x => x.Quantity); if (subTotal > 0) { Order.SubTotal = subTotal; Order.Tax = 0.0825m * Order.SubTotal; Order.Total = Order.Tax + Order.SubTotal; Order.Quantity = cantidad; Order.ModificationDate = DateTime.Now; Order.ModificationUser = pIdUser; _LNOrder.UpdateOrder(Order); } return(true); } catch (Exception ex) { throw; } }
public bool UpdateDoorsxOrder(Order Order) { try { lnDecimals deci = new lnDecimals(); List <Decimals> listDeci = deci.GetAllDecimals(); lnDoorsPrices dp = new lnDoorsPrices(); List <DoorxOrder> listDoorOrders = null; if (Order.TEMP == true) { listDoorOrders = GetAllTEMPdxoXdxu(Order.DoorxUser.Id); } else { listDoorOrders = GetAllDoorxOrderByDoorxUser(Order.DoorxUser.Id); } lnDoorsxUser DU = new lnDoorsxUser(); Order.SubTotal = 0; Order.Quantity = 0; lnOrder _LNOrder = new lnOrder(); lnUser _LNUser = new lnUser(); User u = new User(); u = _LNUser.GetUserById(Order.User.Id); DoorsxUser Dxu = null; if (Order.TEMP == true) { Dxu = DU.GetTEMPdxuById(Order.DoorxUser.Id); } else { Dxu = DU.GetDoorsxUserById(Order.DoorxUser.Id); } foreach (DoorxOrder item in listDoorOrders) { int Rail = 1; if (Order.DoorxUser.TopRail.Id == 3 || Order.DoorxUser.BottomRail.Id == 3 || Order.DoorxUser.DoorStyle.Id == 1009 || Order.DoorxUser.DoorStyle.Id == 1008) { Rail = 2; } int panel = Order.DoorxUser.Panel.Id; if (Order.DoorxUser.DoorStyle.Id == 1002) { panel = 5; } //else if (Order.DoorxUser.DoorStyle.Id == 1003) //{ // Order.DoorxUser.Panel.Id = 2; //} //if (Order.DoorxUser.Panel.Id == 2) //{ // panel = Order.DoorxUser.Panel.Id; //} if (Order.DoorxUser.DoorStyle.Id == 1010) { panel = 2; } //else //{ // if (Order.DoorxUser.Panel.Id == 3) // { // Order.DoorxUser.Panel.Id = 5; // } //} item.User = u; DoorsPrices DoorPrice = dp.GetDoorsPricesById(0, panel, Order.DoorxUser.Material.Id, Rail); decimal deciW = listDeci.Where(x => x.Id == item.DecimalsWidth.Id).FirstOrDefault().Value; decimal deciH = listDeci.Where(x => x.Id == item.DecimalsHeight.Id).FirstOrDefault().Value; decimal Width = item.Width + deciW; decimal Height = item.Height + deciH; decimal result = (((((Width * Height) / 12m) / 12m) - 1.5m) * DoorPrice.AdditionalSFPrice) + DoorPrice.BasePrice; if ((Order.DoorxUser.DoorStyle.Id == 1010)) { result = result / 100m * 80m; } if (result < DoorPrice.BasePrice) { result = (DoorPrice.BasePrice * 2); if (item.User.Descuento > 0) { decimal des = decimal.Parse(item.User.Descuento.ToString()) / 100m; item.TotalDescuento = result * des; result = result - (des * result); } if (item.Descuento > 0) { decimal des = decimal.Parse(item.Descuento.ToString()) / 100m; item.TotalDescuento = result * des; result = result - (des * result); } else { if (Order.Descuento > 0) { decimal des = decimal.Parse(Order.Descuento.ToString()) / 100m; item.Descuento = Order.Descuento; item.TotalDescuento = result * des; result = result - (des * result); } } item.ItemCost = result; item.SubTotal = result * item.Quantity; } else { result = result * 2; if (item.User.Descuento > 0) { decimal des = decimal.Parse(item.User.Descuento.ToString()) / 100m; item.TotalDescuento = result * des; result = result - (des * result); } if (item.Descuento > 0) { decimal des = decimal.Parse(item.Descuento.ToString()) / 100m; item.TotalDescuento = result * des; result = result - (des * result); } else { if (Order.Descuento > 0) { decimal des = decimal.Parse(Order.Descuento.ToString()) / 100m; item.Descuento = Order.Descuento; item.TotalDescuento = result * des; result = result - (des * result); } } item.ItemCost = result; item.SubTotal = result * item.Quantity; } if (Dxu.isDrill == true) { if (Order.DoorxUser.isDrill == false) { item.HingeDirection.Id = 1; } } else { item.HingeDirection.Id = 1; } item.DoorxUser = Order.DoorxUser; item.ModificationDate = DateTime.Now; item.ModificationUser = item.User.Id; item.ProfilePicture = DU.BuscarProfilePicture(Order.DoorxUser.OutsideEdgeProfile.Id, Order.DoorxUser.InsideEdgeProfile.Id, Order.DoorxUser.Panel.Id); item.Picture = DU.BuscarDoorPicture(item); if (Order.TEMP == true) { item.TEMP = true; } int retorno = _AD.UpdateDoorsxOrder(item); Order.SubTotal = Order.SubTotal + item.SubTotal; Order.Tax = 0.0825m * Order.SubTotal; Order.Total = Order.Tax + Order.SubTotal; Order.Quantity = Order.Quantity + item.Quantity; _LNOrder.UpdateOrder(Order); } return(true); } catch (Exception ex) { throw; } }
public int InsertDoorsxOrder(DoorxOrder pDoorsxOrder) { try { lnDecimals deci = new lnDecimals(); List <Decimals> listDeci = deci.GetAllDecimals(); lnDoorsPrices dp = new lnDoorsPrices(); lnDoorsxUser DU = new lnDoorsxUser(); lnOrder _LNOrder = new lnOrder(); Order item = null; DoorsxUser DoorUser = null; if (pDoorsxOrder.TEMP == true) { DoorUser = DU.GetTEMPdxuById(pDoorsxOrder.DoorxUser.Id); DoorUser.TEMP = true; item = _LNOrder.GetTEMPorderById(DoorUser.Order.Id); item.TEMP = true; } else { item = _LNOrder.GetOrderByUser(pDoorsxOrder.User.Id).Where(x => x.Status.Id == 4).FirstOrDefault(); DoorUser = DU.GetAllDoorsxUser().Where(x => x.Order.Id == item.Id).FirstOrDefault(); } pDoorsxOrder.DoorxUser = DoorUser; int Rail = 1; if (DoorUser.TopRail.Id == 3 || DoorUser.BottomRail.Id == 3 || DoorUser.DoorStyle.Id == 1009 || DoorUser.DoorStyle.Id == 1008) { Rail = 2; } int panel = 5; if (DoorUser.Panel.Id == 2) { panel = DoorUser.Panel.Id; } if (DoorUser.DoorStyle.Id == 1010) { panel = 2; } lnUser _LNUser = new lnUser(); User u = new User(); u = _LNUser.GetUserById(pDoorsxOrder.User.Id); DoorsPrices DoorPrice = dp.GetDoorsPricesById(0, panel, DoorUser.Material.Id, Rail); decimal deciW = listDeci.Where(x => x.Id == pDoorsxOrder.DecimalsWidth.Id).FirstOrDefault().Value; decimal deciH = listDeci.Where(x => x.Id == pDoorsxOrder.DecimalsHeight.Id).FirstOrDefault().Value; decimal Width = pDoorsxOrder.Width + deciW; decimal Height = pDoorsxOrder.Height + deciH; decimal a = 1; decimal b = 1; decimal aux = 1; while (!(aux == deciW)) { aux = a / b; if (aux < deciW) { a++; } else if (aux > deciW) { a--; b++; } } string fracc = a.ToString() + "/" + b.ToString(); pDoorsxOrder.User = u; decimal result = (((((Width * Height) / 12m) / 12m) - 1.5m) * DoorPrice.AdditionalSFPrice) + DoorPrice.BasePrice; if ((DoorUser.DoorStyle.Id == 1010)) { result = result / 100m * 80m; } if (result < DoorPrice.BasePrice) { result = DoorPrice.BasePrice * 2; if (pDoorsxOrder.User.Descuento > 0) { decimal des = decimal.Parse(pDoorsxOrder.User.Descuento.ToString()) / 100m; result = result - (des * result); } if (pDoorsxOrder.Descuento > 0) { decimal des = decimal.Parse(pDoorsxOrder.Descuento.ToString()) / 100m; pDoorsxOrder.TotalDescuento = result * des; result = result - (des * result); } pDoorsxOrder.ItemCost = result; pDoorsxOrder.SubTotal = result * pDoorsxOrder.Quantity; } else { result = result * 2; if (pDoorsxOrder.User.Descuento > 0) { decimal des = decimal.Parse(pDoorsxOrder.User.Descuento.ToString()) / 100m; pDoorsxOrder.TotalDescuento = result * des; result = result - (des * result); } if (pDoorsxOrder.Descuento > 0) { decimal des = decimal.Parse(pDoorsxOrder.Descuento.ToString()) / 100m; pDoorsxOrder.TotalDescuento = result * des; result = result - (des * result); } pDoorsxOrder.ItemCost = result; pDoorsxOrder.SubTotal = result * pDoorsxOrder.Quantity; } if (DoorUser.isDrill == false) { pDoorsxOrder.HingeDirection.Id = 3; pDoorsxOrder.HingePositions.Id = 2; } else { pDoorsxOrder.HingeDirection.Id = pDoorsxOrder.HingeDirection.Id; pDoorsxOrder.HingePositions.Id = 2; } pDoorsxOrder.CreationDate = DateTime.Now; pDoorsxOrder.ModificationDate = DateTime.Now; pDoorsxOrder.CreatorUser = pDoorsxOrder.User.Id; pDoorsxOrder.ModificationUser = pDoorsxOrder.User.Id; pDoorsxOrder.ProfilePicture = DU.BuscarProfilePicture(DoorUser.OutsideEdgeProfile.Id, DoorUser.InsideEdgeProfile.Id, DoorUser.Panel.Id); pDoorsxOrder.Picture = DU.BuscarDoorPicture(pDoorsxOrder); int retorno = _AD.InsertDoorsxOrder(pDoorsxOrder); item.SubTotal = item.SubTotal + pDoorsxOrder.SubTotal; item.Tax = 0.0825m * item.SubTotal; item.Total = item.Tax + item.SubTotal; item.Quantity = item.Quantity + pDoorsxOrder.Quantity; _LNOrder.UpdateOrder(item); return(retorno); } catch (Exception ex) { throw; } }