Ejemplo n.º 1
0
        /// <summary>
        /// Delete Object From AjaxJQuery
        /// </summary>
        /// <param name="id">PK Value</param>
        /// <returns></returns>
        public ActionResult DeleteItem(int id)
        {
            try
            {
                CotizacionDetalle ItemDetail = db.CotizacionDetalle.Find(id);
                if (ItemDetail != null)
                {
                    var Cotizacion = db.Cotizacion.Include(c => c.Items).Where(c => c.CotizacionID == ItemDetail.CotizacionID).FirstOrDefault();
                    if (Cotizacion != null)
                    {
                        Cotizacion.Valor           = Cotizacion.Valor - ItemDetail.ValTotal;
                        db.Entry(Cotizacion).State = EntityState.Modified;

                        db.CotizacionDetalle.Remove(ItemDetail);
                        db.SaveChanges();

                        return(new JsonResult
                        {
                            Data = new { Success = true },
                            ContentEncoding = System.Text.Encoding.UTF8,
                            JsonRequestBehavior = JsonRequestBehavior.AllowGet
                        });
                    }
                }

                return(new JsonResult
                {
                    Data = new { Message = "Por favor inténtelo de nuevo", Success = false },
                    ContentEncoding = System.Text.Encoding.UTF8,
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            catch (Exception eX)
            {
                //
                // Log Exception eX
                //

                return(new JsonResult
                {
                    Data = new { Message = "Error ejecutando la acción de eliminar. Por favor inténtelo de nuevo.", Success = false },
                    ContentEncoding = System.Text.Encoding.UTF8,
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }
Ejemplo n.º 2
0
        public List <CotizacionDetalle> ObtenerDetalleCotizacion(int id_cotizacion_venta)
        {
            List <CotizacionDetalle> Listado = null;
            CotizacionDetalle        Entidad = null;
            SqlDataReader            lector;

            conexion.Open();

            string query = "Sp_Obtener_Detalle_Cotizacion_Venta";

            SqlCommand comando = new SqlCommand(query, conexion);

            comando.CommandType = CommandType.StoredProcedure;
            comando.Parameters.AddWithValue("@id_cotizacion_venta", id_cotizacion_venta);
            lector = comando.ExecuteReader();

            if (lector.HasRows)
            {
                Listado = new List <CotizacionDetalle>();
                while (lector.Read())
                {
                    Entidad = new CotizacionDetalle();
                    Entidad.descripcion_pro_ser = lector["descripcion_pro_ser"].ToString();
                    Entidad.codigo        = lector["codigo"].ToString();
                    Entidad.precio        = lector["precio"].ToString();
                    Entidad.unidad_medida = lector["unidad_medida"].ToString();
                    Entidad.cantidad      = lector["n_cantidad"].ToString();
                    Listado.Add(Entidad);
                }
            }
            //Despues, cerramos la conexion!
            conexion.Close();

            //Retorna el listao lleno de datos
            return(Listado);
        }
Ejemplo n.º 3
0
        public ActionResult SaveProduct(CotizacionViewModel Model)
        {
            DbContextTransaction Transaction = null;

            try
            {
                if (Model != null)
                {
                    if (!Model.IsSaved)
                    {
                        Transaction = db.Database.BeginTransaction();

                        Cotizacion NewModel = new Cotizacion();
                        NewModel.Fecha      = Helpers.DateHelper.GetColombiaDateTime();
                        NewModel.ClienteID  = Model.CliID;
                        NewModel.EmpresaID  = Model.EmpID;
                        NewModel.VendedorID = Model.VenID;

                        if (Model.OpoID > 0)
                        {
                            NewModel.OportunidadID = Model.OpoID;
                        }

                        var Consecutivo = db.CotizacionConsecutivo.Where(cc => cc.EmpresaID == Model.EmpID).FirstOrDefault();
                        if (Consecutivo == null)
                        {
                            Consecutivo = new CotizacionConsecutivo()
                            {
                                EmpresaID = Model.EmpID, ValorConsecutivo = 0
                            };
                            db.CotizacionConsecutivo.Add(Consecutivo);
                            db.SaveChanges();
                        }

                        NewModel.NumberID = (Consecutivo.ValorConsecutivo + 1).ToString("0000");
                        NewModel.Valor    = (Model.Can * Model.ValUn);
                        NewModel.IsSaved  = true;

                        Consecutivo.ValorConsecutivo = Consecutivo.ValorConsecutivo + 1;
                        db.SaveChanges();

                        db.Cotizacion.Add(NewModel);
                        db.SaveChanges();

                        CotizacionDetalle NewItemModel = new CotizacionDetalle()
                        {
                            CotizacionID = NewModel.CotizacionID,
                            Cotizacion   = NewModel,
                            ProductoID   = Model.ProID,
                            Cantidad     = Model.Can,
                            ValUnitario  = Model.ValUn,
                            ValTotal     = Model.Can * Model.ValUn,
                        };

                        db.CotizacionDetalle.Add(NewItemModel);
                        db.SaveChanges();

                        AddActivityTo(NewModel);

                        Transaction.Commit();

                        return(new JsonResult {
                            Data = new { CotID = NewModel.CotizacionID, Success = true }, ContentEncoding = System.Text.Encoding.UTF8, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                        });
                    }
                    else
                    {
                        var ProductExist = db.CotizacionDetalle.Where(cd => cd.ProductoID == Model.ProID).Any();
                        if (ProductExist)
                        {
                            return(new JsonResult
                            {
                                Data = new { Message = "Este producto ya fue agregado al detalle de la cotización. Seleccione otro producto.", Success = false },
                                ContentEncoding = System.Text.Encoding.UTF8,
                                JsonRequestBehavior = JsonRequestBehavior.AllowGet
                            });
                        }

                        var CotizacionSaved = db.Cotizacion.Where(c => c.CotizacionID == Model.CotID).FirstOrDefault();
                        var Producto        = db.Productos.Where(p => p.ProductoID == Model.ProID).FirstOrDefault();

                        if (CotizacionSaved != null && Producto != null)
                        {
                            CotizacionDetalle NewItemModel = new CotizacionDetalle()
                            {
                                CotizacionID = Model.CotID,
                                Cotizacion   = CotizacionSaved,
                                ProductoID   = Model.ProID,
                                Cantidad     = Model.Can,
                                ValUnitario  = Model.ValUn,
                                ValTotal     = Model.Can * Model.ValUn,
                            };

                            CotizacionSaved.Valor           = CotizacionSaved.Valor + NewItemModel.ValTotal;
                            db.Entry(CotizacionSaved).State = EntityState.Modified;

                            db.CotizacionDetalle.Add(NewItemModel);
                            db.SaveChanges();

                            string Actions    = $"<td><a class=\"fa fa-pencil-square-o\" href=\"#\" title=\"Editar\" onclick=\"EditRecord({NewItemModel.ItemID}); return false;\" ></a> | <a class=\"fa fa-trash-o\" href=\"#\" data-backdrop=\"static\" data-href=\"Petición [email protected]\" data-pkid=\"@item.ItemID\" data-toggle=\"modal\" data-target=\"#confirm-delete\" title=\"Eliminar\"></a></td>";
                            string MessageVal = $"<tr id=\"(del{NewItemModel.ItemID})\"><td>{Producto.ProductoID}</td><td>{Producto.Codigo}</td><td>{Producto.NombreProducto}</td><td>{Producto.Especificaciones}</td><td align=\"right\">{Model.Can.ToString("C2")}</td><td align=\"right\">{Model.ValUn.ToString("C2")}</td><td align=\"right\">{NewItemModel.ValTotal.ToString("C2")}</td>{Actions}</tr>";

                            return(new JsonResult {
                                Data = new { Message = MessageVal, Success = true }, ContentEncoding = System.Text.Encoding.UTF8, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                            });
                        }
                    }
                }

                return(new JsonResult
                {
                    Data = new { Message = "Los datos no se reconocen correctamente. Por favor inténtelo de nuevo.", Success = false },
                    ContentEncoding = System.Text.Encoding.UTF8,
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            catch (Exception eX)
            {
                if (Transaction != null)
                {
                    Transaction.Rollback();
                }

                //
                // Log Exception eX
                //

                return(new JsonResult
                {
                    Data = new { Message = "Error ejecutando la acción. Por favor inténtelo de nuevo.", Success = false },
                    ContentEncoding = System.Text.Encoding.UTF8,
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
        }