public JsonResult SaveCierreProVta(Cierre_ProVta info) { //validaciones var val = _repCierre.Get(Cierre => Cierre.id_GFX == info.id_GFX && Cierre.id_ProgramaVta == info.id_ProgramaVta && Cierre.id_tipoperiodo == info.id_tipoperiodo && Cierre.id_Periodo == info.id_Periodo); if (val.id_Status_ProVta == 3)//suponiendo que es el tipo Cerrado { return this.Json("{success:false,error:'Este Periodo ya esta cerrado para este Distribuidor.'}", JsonRequestBehavior.AllowGet); } //1.- Validar if (info.id_GFX ==null) { return this.Json("{success:false,error:'Incluir GFX'}", JsonRequestBehavior.AllowGet); } if (info.id_ProgramaVta == null) { return this.Json("{success:false,error:'Debe seleccionar un Programa de Venta'}", JsonRequestBehavior.AllowGet); } if (info.id_tipoperiodo == null) { return this.Json("{success:false,error:'Debe seleccionar un Tipo de Periodo'}", JsonRequestBehavior.AllowGet); } if (info.id_Periodo== null) { return this.Json("{success:false,error:'Debe seleccionar un Periodo'}", JsonRequestBehavior.AllowGet); } int status = 3; //realizar la funcionalidad para sacar el status, dependiendo si va a estar pendiente o cerrado //en este caso para esta funcion de cierre deberia de ser el id del estatus de cerrado try//SOLO PARA PRUEBAS en caso de que exista un usuario en tabla principal { string usuarioActual = this.CurrentUser; } catch { string usuarioActual = "yyyy368"; } bool EsNuevo = false; if (info.id_CierrexProVta == 0) { //insert info.id_Status_ProVta = status; //rEVISAR QUE ESTATUS SERIA AL GRABAR UN CIERRE //info.USERmODIF = usuarioActual;//REVISAR SI SE VA A AGREGAR UN USUARIO DE MODIFICACION A LA TABLA PRINCIPAL info.fch_Modif = DateTime.Now; if (status==3)//se esta suponiendo que el estatus de cerrado es el 3 info.fch_Cierre = DateTime.Now; this._repCierre.Add(info); EsNuevo = true; } else { //update //info.cd_usuariomodif = usuarioActual; info.id_Status_ProVta = status; info.fch_Modif = DateTime.Now; if (status == 3) info.fch_Cierre = DateTime.Now; this._repCierre.Update(info); EsNuevo = false; } try//revisar desde donde empieza el try { this._repCierre.SaveAllChanges(); if (SaveCierreProVtaDetalle(EsNuevo,info.id_CierrexProVta,info.id_GFX, info.id_ProgramaVta, info.id_tipoperiodo, info.id_Periodo) == true) { return this.Json("{success:true,id:" + info.id_CierrexProVta.ToString() + "}", JsonRequestBehavior.AllowGet); } else { return this.Json("{success:false,error:'Error al guardar la información de Detalle'}", JsonRequestBehavior.AllowGet); } } catch { return this.Json("{success:false,error:'Error al guardar la información'}", JsonRequestBehavior.AllowGet); } }
public void Guardar_CierreVta() { CierreProVtaController target = new CierreProVtaController(); Cierre_ProVta cpv = new Cierre_ProVta(); cpv.id_CierrexProVta = 4; cpv.id_GFX = 936153; cpv.id_ProgramaVta= 1; cpv.id_tipoperiodo= 1; cpv.id_Periodo= 1; var actual = target.SaveCierreProVta(cpv); string rawResult = serializer.Serialize(actual.Data); var expected = "true"; Assert.AreEqual(expected, rawResult, "Debe guardar"); }