예제 #1
0
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public async Task<ActionResult> GetVehiculo( String placa)
        //(Nullable<decimal> monto, Nullable<System.DateTime> fecha, Nullable<int> idTipoVenta, Nullable<int> idCliente, Nullable<decimal> saldo,
        //string placa, Nullable<decimal> interes, Nullable<short> plazo, Nullable<int> idPeriodoPago, string descripcion)
        public async Task <Boolean> InsertarVentaFinanciamiento(string pmonto, string pfecha, string pidTipoVenta, string pidCliente, string psaldo,
                                                                string pplaca, string pinteres, string pplazo)
        {
            //if (placa == null)
            //{
            //    // return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            //    return false;
            //}
            bool inserto = false;

            try
            {
                Decimal  monto       = Convert.ToDecimal(pmonto);
                DateTime fecha       = Convert.ToDateTime(pfecha);
                int      idTipoVenta = Convert.ToInt32(pidTipoVenta);
                int      idCliente   = Convert.ToInt32(pidCliente);

                if (idTipoVenta == 2)
                {//financiamiento
                    if (pplazo != null)
                    {
                        if (pplazo != string.Empty)
                        {
                            pplazo = pplazo.Substring(0, pplazo.IndexOf(" Meses"));
                        }
                    }
                    Decimal saldo   = Convert.ToDecimal(psaldo);
                    Decimal interes = Convert.ToDecimal(pinteres);
                    Int16   plazo   = Convert.ToInt16(pplazo);
                    System.Data.Entity.Core.Objects.ObjectParameter returnId = new System.Data.Entity.Core.Objects.ObjectParameter("idVenta", typeof(int)); //Create Object parameter to receive a output value.It will behave like output parameter

                    int venta = db.InsertarVentaFinanciamiento(monto, fecha, idTipoVenta, idCliente, saldo, pplaca, interes, plazo, 1, " ", returnId);
                    if (int.Parse(returnId.Value.ToString()) > 0)
                    {
                        //RedirectToAction("Index");
                        inserto = true;
                        // return true;
                    }
                }
                else
                {// contado
                    TVenta tVenta = new TVenta();
                    tVenta.Monto       = Convert.ToDecimal(pmonto);
                    tVenta.Fecha       = Convert.ToDateTime(pfecha);
                    tVenta.IdTipoVenta = Convert.ToInt32(pidTipoVenta);
                    tVenta.IdCliente   = Convert.ToInt32(pidCliente);
                    tVenta.Placa       = pplaca;
                    tVenta.Saldo       = tVenta.Monto;

                    db.TVenta.Add(tVenta);
                    await db.SaveChangesAsync();

                    RedirectToAction("Index");
                    inserto = true;
                    //return true;

                    //revisar que el web config este seteado con el mismo idtipofinanciamiento de la BD tabla ctipoVenta (2)
                    //if (tVenta.IdTipoVenta == Int32.Parse(WebConfigurationManager.AppSettings["TipoVentaFinanciamiento"]))
                    //    return RedirectToAction("Create", "Financiamientos", new { idVenta = tVenta.IdVenta });
                }
            }
            catch (Exception e) {
                return(false);
            }

            RedirectToAction("Index");

            return(inserto);
        }